Cleanup undo/redo
Updated expression handling to avoid recursion

expr d 5
expr dog 6
eval dog
no longer fails