This would need to save the state somewhere before making the changes to Canvas, perhaps in RAM/downloaded/in the browser's cache, and then be able to put them back how they were. This is more complicated for deletions, seeing as the item would need to be recreated (unless we use the Canvas undo/recover semi-hidden functionality).