[TIMOB-13676] Re-architected how modules are specified