Hi, I was wondering about this too and the answers make perfect sense. However, how does dependency injection work with this scheme? For example I want my Player Class to store a reference to the Level Class, so that it can notify the level if necessary. The only way I can think of is to add a parametrized init function to the class. The only problem with that is, is that if you forget to call it all hell will break lose.