Implemented DI for most modules