Moved the listener to RoomHandler to avoid duplication