Undo manager support. Broken though: after the obj is GC'd -undo crashes :(