Validate the number play components using CollectionBuilder rather than ComponentSpecContainer.
Run validation actions when the element only is closed, rather than the whole graph.
Added some int test coverage.
Added a root node to the model graph and cleaned up MutableModelNode so that links are always added using a ModelCreator.

This means all graph additions are done by linking a node from another node, and so we can apply consistent validation and behaviour.