Move responsibility of handling worker acquisition to a "Scheduler."

Initially just implementing a simple scheduler that replicates the previous behaviour.