fix Undo for lists/maps
add undo/redo to TodoMVC example