public void Add(SignalConnectionHandle handle)
 {
     if (!_pending.Contains(handle))
     {
         _pending.Enqueue(handle);
     }
 }
        public void Add(string signalName, Object self, string methodName)
        {
            SignalConnectionHandle handle = new SignalConnectionHandle(self, signalName, self, methodName);

            if (!_pending.Contains(handle))
            {
                _pending.Enqueue(handle);
            }
        }
        public void Add(Func <Object> getEmitterMethod, string signalName, Object listener, string methodName)
        {
            SignalConnectionHandle handle = new SignalConnectionHandle(getEmitterMethod, signalName, listener, methodName);

            if (!_pending.Contains(handle))
            {
                _pending.Enqueue(handle);
            }
        }