public static TComponent WithOutput <TComponent>(this TComponent nodeField, ITypeDefinitionManager typeDefinition) where TComponent : INodeField
 => nodeField.WithValue <TComponent>(INodeField.OutputKey, typeDefinition, false);
 public static TComponent WithValue <TComponent>(this TComponent nodeField, string valueKey, ITypeDefinitionManager typeDefinition, bool isUserEditable = false) where TComponent : INodeField
 {
     nodeField.AddValue(valueKey, typeDefinition, isUserEditable);
     return(nodeField);
 }