Unique Contour Labels
Each contour should have a unique label.
Inform the user when a new shape is created that they should create a label to identify it. Also inform the user if they delete a label that they should keep all shapes identified.
Snap To Constrain
When the user has created a new shape the application will not allow them to create a new shape until they have created a label for the shape they previously created.
Whenever a new shape is drawn a new label will be created and given an unique label which can be later changed by the user to the correct label. Also the user will not be able to delete the label attached to the shape.