public void    DoSomethingElse(DateTime when)
        {
            var randomizer = new Random();

            PubSub <SomeOtherMessageType> .Broadcast(new SomeOtherMessageType()
            {
                SomeAmount = randomizer.NextDouble(), SomeDate = when
            });
        }
        public void    DoSomethingCool(string description)
        {
            var randomizer = new Random();

            PubSub <SomeMessageType> .Broadcast(new SomeMessageType()
            {
                SomeId = randomizer.Next(), SomeDescription = description
            });
        }
 public SomePublisher(PubSub <SomeMessageType> pubSub)
 {
     this.pubSub = pubSub;
 }
 public static void    Listen()
 {
     PubSub <SomeOtherMessageType> .Listen(SomeMessageEvent);
 }
 public void    Listen(PubSub <SomeOtherMessageType> pubSub)
 {
     pubSub.Listen(this.SomeMessageEvent);
 }