Delegated component initialization to individual modules, using dependency injection