Extracted an interface from ModelNode for creation and mutator actions to use instead of bolting directly onto ModelNode.