When a client times out, we need to remove their ghost pointer from other browsers. Currently, we send that RemovePointerEvent over and over again. We need to send it just once. This turns out to be enormously difficult to test due to interactions between all our asynchronous components.