renamed changingObject to observedObject to be more consistent with apple's terminology