http://www.dr-qubit.org/undo-tree.html
