I did not want to introduce a new class for capturing name, type, and definition at this time given the amount of changes this PR has introduced.  The only other choice among existing classes was ModuleDeploymentRequest - and I did have an earlier version that had StreamDefinition contain a list of ModuleDeploymentRequests but that seemed to be further from the notion of a definition and I could see how ModuleDeploymentRequest will change even more going forward.  There is some inconsistency now in the repository and moduleregistry - the module registry is resolving the resource and classpath - I believe one can do find by id and not get a resolved resource/classpath.  This certainly needs to be revisited but I suggest it is part of another further round of refactoring.