The user should have the option to draw the new shape at different location and keep the existing shape, or erase the exiting one before drawing the new shape.
Create all the getter and setter & constructor methods for each class.
Also make sure to do the cleanup at the end, when you are done to make sure all the objects are being deleted using the finally method.