How can I receive events on new shape and delete shape?

I am making a Napari plugin to analyze shape ROIs. How can I receive new shape and delete shape events?

For new shapes I am catching mouse down events using shape layer mouse_drag_callback. But this requires me to keep a backend list of current shapes and compare to the list when the mouse is clicked

@self.shapeLayer.mouse_drag_callbacks.append
def shape_mouse_move_callback(layer, event):
#print(‘shape_mouse_move_callback() event.type:’, event.type)
self.myMouseMove_Shape(layer, event)

Hi @cudmore - we should expose this, I see you have also created https://github.com/napari/napari/issues/720 and I will follow up with you there