Replaced threads with work_queues

We now use the work_queue gem to manage jobs.