I think these checks would be appropriate to move to the constructor instead, since they apply just as well there.