added DependencyInjectionContainer

added a minimal implementation of DI container