Do we need to remove the timeout here, or is it implicitly removed when the timeout is reached?

I guess we should set `timeout_id` to None here?