I have that in my notes also. Considering adding a CompositeModuleDefinition subclass. The only issue then is increased use of "instanceof" checks.