public static DigitalSignal ConnectTo(this DigitalSignalConsumer consumer, DigitalSignalProvider provider, string signalName = null)
        {
            DigitalSignal signal = Connect(provider, consumer);

            if (signal == null)
            {
                if (signalName == null)
                {
                    signalName = consumer.Name;
                }
                signal = consumer.GetOrAddSignal(signalName);
                provider.ConnectTo(signal);
            }

            return(signal);
        }
        public static DigitalSignalProvider CreateConnection(this DigitalSignalConsumer consumer, string signalName = null)
        {
            var signal = consumer.GetOrAddSignal(signalName);

            return(new DigitalSignalProvider(signal, signalName));
        }