Component dependency injection system