Using more resolver ... WIP
Using more Dependency Injection
Consistent dependency order in all modules
Consistent naming of dependent modules
More dependency injection