Will this ever be used other than in the constructor? Do we want the shape to be changeable after construction?