extending Room to IntervalRoom and EventRoom, cleaning up buildRooms a bit