mimic changes object as Object.observe contract
extract observe function
implement Object.observe