Do the setModuleDefinitions and getModuleDefinitions methods really belong here on BaseDefinition? It seems like they apply to a StreamDefinition (which is composed of multiple modules) but *not* for a JobDefinition which is always exactly one module (at least in the current implementation).