Implementing advanced dependency injection concepts