Instead of using history, which could be unpredictable
this is part maintenance to make RoomList clearer and part allowing room list state to be modified via a dispatch.