Dependency injection container with auto wiring