Clean up the TimeoutManager
  * "jobs" doesn't need to be a field
  * Simplify the logic around deciding whether to wait
  * Remove unnecessary null case when handling the job