device images update fine at the cost of a global
adding element to track amount of unsaved changes