Observing Objects and Programming Objects