This loop may need a `task::deschedule()`