Made base Room type abstract so can implement Null object later