More DIContainer refactoring