Object.observe() polyfill