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