Creating a Dependency Injection (DI) Container