public void TestBroadcaster()
        {
            var test      = new Broadcaster();
            var listener  = new TestListener();
            var listener2 = new TestListener();

            test.AddListener(listener);
            Assert.AreEqual(1, test.listeners.Count);
            test.RemoveListener(listener);
            Assert.AreEqual(0, test.listeners.Count);

            test.AddListener(listener);
            test.AddListener(listener2);
            test.Broadcast(new Event("hello"));
            Assert.AreEqual("hello", listener.lastMessage);
            Assert.AreEqual("hello", listener2.lastMessage);

            test.RemoveListener(listener);
            test.Broadcast(new Event("goodbye"));
            Assert.AreEqual("hello", listener.lastMessage);
            Assert.AreEqual("goodbye", listener2.lastMessage);

            test.Clear();
            Assert.AreEqual(0, test.listeners.Count);
        }