Feature/worker pool

removes a whole bunch of logic around events but adds a keepAlive method to keep the events marked as in progress