Implementing an undo-redo-manager in Python
This post explains one way of implementing a class that is able to undo and redo each called command. The explained technique will be used in my GSOC project, but I will describe it here in a general way so that it can be adapted to your needs.