added notification when save completed. and improved the undo logic to allow arbirary undo