private void ProcessDeletedLink(FunctionReference link)
{
if (link == null) return;
var host = _surface.Children.OfType<LinkHost>().FirstOrDefault(l => l.Id == link.Id);
if (host == null) return;
// TODO: temp hack
host.Source.HasOutgoingConnections = false;
host.Target.HasIncomingConnections = false;
// TODO: Denis: find out more structured way
host.Source.DesignerControl.OutgoingLinks.Remove(host);
host.Target.DesignerControl.IncomingLinks.Remove(host);
_surface.Children.Remove(host);
}