Not 100% sure of the differences, but this code in NodeInstance looks a lot like the code in NodeDefinition. Would it be possible to centralize this logic at some point in the future, or is that a bad idea?