I'm not sure about this. I think it would make it more complex, because we would need to track what to add back to the queue and what not this way. Also when we keep it like this we can consider tasks that arrive while this code is running.