Basic IOC/DI, namespacing, init and destroy