public static bool Connect(this IConnection connection, IHook one, IHook two)
        {
            IHook from;
            IHook to;

            Hook.GetOrderedIO(one, two, out from, out to);

            if (connection.AllowConnection(from, to) && connection.CanConnect(from, to))
            {
                connection.From = from;
                connection.To   = to;

                from.AddConnection(connection);
                to.AddConnection(connection);

                return(true);
            }

            return(false);
        }