I have a basic undo/redo function working now, that currently is able to work for the last added card. One of the biggest problems I ran into was making sure that the Lesson plan was saving in the correct places, i.e. every time there is any change at all, and creating mementos from that. Also remember to create deep clones of your objects rather than shallow copies as you will also run into problems then.