Container class - phpgt/ServiceContainer GitHub Wiki
The Container class has methods to set a specific instance of a class, get the stored instance of a class, and handle lazy loading with setLoader.
Typically, the constructor would receive no parameters unless a particular pre-constructed injector is to be used, such as within unit tests.
// TODO: explain how this would be used within your project, and how the type inferencing works, so object types are scanned and automated magically.