code: function(snap) {
            var changed = false;
            var rec = this.$getRecord($wilddogUtils.getKey(snap));
            if( angular.isObject(rec) ) {
              // apply changes to the record
              changed = $wilddogUtils.updateRec(rec, snap);
              $wilddogUtils.applyDefaults(rec, this.$$defaults);
            }
            return changed;
          }
docs: Called whenever an item is changed at the server.
  This method should apply the changes, including changes to data
  and to $priority, and then return true if any changes were made.
  
  If this method returns false, then $$process will not be invoked,
  which means that $$notify will not take place and no $watch events
  will be triggered.
  
  @param {object} snap a Wilddog snapshot
  @return {boolean} true if any data changed
  @protected