PROPOSAL: Decouple Modules

Uses a separate script to manage the module requirements.