async def METHOD_NAME(self, check_interval: float = 0.1) -> None:
    """Block execution until the client disconnects."""
    if not self.has_socket_connection:
        await self.connected()
    self.is_waiting_for_disconnect = True
    while self.id in globals.clients:
        await asyncio.sleep(check_interval)
    self.is_waiting_for_disconnect = False