Seems like we could use a component-common module similar to the one we have for core today. Before you say "we already have this", we don't really. We have a parent module and a number of sub-modules in component-common (rest, rules, composer). Tomo is going to add dynamic operation selector support which will be yet another module. I would like to suggest the following changes:
1) rename the parent composer module to switchyard-component-common-parent
2) create a switchyard-component-common module
3) move what's in composer to #2. So this could effectively be a rename operation.
4) put the contents of the proposed new common-selector module inside of #2 as well.
Generally speaking, anything with no external dependencies should go in #2. Stuff specific to a a limited set of components (e.g. rules) can stay in a distinct module since we don't want to drag very component's dependencies into a common module definition.
Thoughts?