Implementing a simpler reclaim_task algorithm, where the task isn't moved between reserved task queues; this works because each listener only runs one task at a time. Also, for administrative purposes, we mainly just care which server a task is running on, which will still be correct.
Finishing off the listener's claim orphan logic, to return a new task object when there is a task to reclaim