/// <summary>Adds a delegate for the process of interactions.</summary>
        /// <param name="il"> the listener object to Add</param>
        public void AddReceiveInteractionDelegate(Type msgType, string name, ReceiveInteractionDelegate interactionDelegate)
        {
            InteractionClassDescriptor icd = DescriptorManager.GetInteractionClassDescriptor(name);

            interactionClassDescriptorMap[msgType] = icd;
            interactionDelegates[msgType] = interactionDelegate;

            TransportationType transportation = icd.Transportation;
            if (transportation != null)
            {
                interactionChannelMap[msgType] = transportation;
            }
        }
        /// <summary>Adds a delegate for the process of interactions.</summary>
        /// <param name="il"> the listener object to Add</param>
        public void AddReceiveInteractionDelegate(Type msgType, string name, ReceiveInteractionDelegate interactionDelegate)
        {
            InteractionClassDescriptor icd = DescriptorManager.GetInteractionClassDescriptor(name);

            interactionClassDescriptorMap[msgType] = icd;
            interactionDelegates[msgType] = interactionDelegate;

            TransportationType transportation = icd.Transportation;
            if (transportation != null)
            {
                interactionChannelMap[msgType] = transportation;
            }
        }
 /// <summary>Remove a delegate for the process of interactions.</summary>
 /// <param name="il"> the listener object to Add</param>
 public void RemoveReceiveInteractionDelegate(Type msgType, ReceiveInteractionDelegate interactionDelegate)
 {
     if (interactionDelegates.ContainsKey(msgType))
         interactionDelegates.Remove(msgType);
 }
 /// <summary>Remove a delegate for the process of interactions.</summary>
 /// <param name="il"> the listener object to Add</param>
 public void RemoveReceiveInteractionDelegate(Type msgType, ReceiveInteractionDelegate interactionDelegate)
 {
     if (interactionDelegates.ContainsKey(msgType))
         interactionDelegates.Remove(msgType);
 }