reset: clone and set data before triggering change events