What is a module "definition"? This seems to be influenced by StreamDefinition et al, but I don't see the meaning here.

To me, a module has
- a name
- a type
- options (names, default values)   [maybe we'll tackle that later  :)  ]