Replaced ModelCreation with ModelNode.
Moved listener notification from DefaultModelRegistry to ModelGraph and added some methods to allow the listener to declare which nodes it might be interested in.

Fixed some edge cases where listener happens to consume nodes that it generates during execution.
Reworked the ModelCreationListener implementation to make somewhat transparent which things they are interested in.
Reworked listener notification to be more efficient, when the listener declares which path(s) it is interested in.