Does not need to be a full undo/redo stack, but should snapshot state each time a permanent change is made
Does not need to be a full undo/redo stack, but should snapshot state each time a permanent change is made