Undo redo

Noted. I think it makes more sense as a property. I added a reset() method to do what you are suggesting, as that will be necessary when we get into situations that can't be undone.