Persist WorkThread in Reactive so that client can send evnet via one thread. Add semaphore to thread