Made ShapeGenerator more flexible, making it return shapes with different requested attributes