docs: function observe (obj, callback) {
  
    // Include https://github.com/MaxArt2501/object-observe if you wish to work
    // with polyfill on browsers that don't support Object.observe()
    Object.observe(obj, function (changes) {
      changes.forEach(function (change) {
  
        // Bind child property if it is an object for deep observing
        if (obj[change.name] instanceof Object) {
          observe(obj[change.name], callback);
        }
      });
  
      // Trigger user callback
      callback.call(this, changes);
    });
  
    // Immediately fire observe to initiate deep observing
    Object.keys(obj).forEach(function (key) {
      if (obj[key] instanceof Object) {
        observe(obj[key], callback);
      }
    });
  }