Since a large portion of our user base is on mobile devices which would sleep and disconnect from WebSocket, we should handle disconnections gracefully when the user already has a vote on screen. Instead of removing disconnected user from the room and clear their vote, it's better to defer the cleanup until the votes are cleared so votes are kept on screen even after the user is disconnected.