Of the many praises/criticisms of the new modules support, three in particular stand out:
1. Adds too much confusing complexity
2. Adds great flexibility for large projects
3. XXX should be configurable on a per-project basis
What if there were no modules? What if there were just projects, but projects could depend on other projects?
Basically, promote the concept of "module" all the way up to a full-fledged "project". Then add all the features unique to modules, like dependency checking and resource sharing, to projects.