path changes. extensions can catch the save event