A Smart Dependency Injection Container