public void SubscribeToEventOf(Producer producer, WorkerThread targetWorkerThread)
 {
     producer.Event += delegate(object sender, EventArgs e)
     {
         targetWorkerThread.QueueWorkItem(() => OnEvent(sender, e));
     };
 }