Thanks for the very insightful recap. I hope i got it right :)
is the dependency graph manually generated or you got a tool ?
suggestions :
maybe a quick recap of the steps as intro (then details) ?
- build the dependency tree by resolving modules dependencies from root->leaves
- allow modules to be configured via the provider pattern and the config block, from leaf->root (up the tree ?).