protected virtual void DisposeNode(NodeModel node)
{
var functionNode = node as Function;
if (functionNode != null)
{
functionNode.Controller.SyncWithDefinitionStart -= OnSyncWithDefinitionStart;
functionNode.Controller.SyncWithDefinitionEnd -= OnSyncWithDefinitionEnd;
}
node.ConnectorAdded -= OnConnectorAdded;
node.Modified -= NodeModified;
node.Dispose();
}