Composition root looks very strange pattern. We have a single very large God object that knows everything about anything.
What's the correct way to split up a Composition Root to some modules that will encapsulate initialization of its own part of the object graph?
What about hierarchical dependency injection?