Dependency Injection implementation