Object.observe was a bad idea. Even when it was available in chrome I didn't consider using it. However, the ES6 proposal for object proxies will hopefully become generally available as those can solve the same issue way more elegantly. Proxies will be able to address the current limitations of arrays in Mobservable.
I wrote a short blog post about the issue: https://medium.com/p/object-observe-is-dead-long-live-mobser.... Mobservable currently relies on property getters / setters, both for arrays and objects. Probably until proxies will be generally available.