Add undo and redo support
Implement heap schema cache