shape editor

i am trying to make a shape editor with multiple shapes: polygon, oval, rectangle, round rectangle.
i need some theory and a elegant way to connect a grab point to a property like x,y or width & height as example for a oval shape.

currently i have a polygon shape with grab points, i can add,select, move, click and delete points.
but i need a bridge to other shapes and reuse the grab point class.
add points to a oval shape make no sense or delete the center would delete the oval shape, or a grabpoint for width can not deleted.
i search for something consistent.
how would you do that?

I would make grab points at the surrounding rectangle. By adjusting the rect you could change the width/height of the oval.