Added intelligent saving. Only save when there are changes, let the user know when their changes have not yet been saved.