Observes changes and stores object state before the change