Encapsulated RoomData, did some other refactoring