code: function(key) {
          var value = this.attributes[key];
          if (
            _.isObject(value) &&
            !(value instanceof AV.Object) &&
            !(value instanceof AV.File)
          ) {
            var json = JSON.stringify(recursiveToPointer(value));
            if (this._hashedJSON[key] !== json) {
              var wasSet = !!this._hashedJSON[key];
              this._hashedJSON[key] = json;
              return wasSet;
            }
          }
          return false;
        }
docs: Replaces the cached value for key with the current value.
  Returns true if the new value is different than the old value.
  @private