MulticastDelegate extracted from XMPPFramework