code: function(prop, val){
          var isSetting;
  
          if (prop) {
  
              isSetting = this.isSetting();
  
              // store the previously changed property
              !isSetting && this._setPrevious(this.getData());
  
              /**
               * If the prop arg is a Model, then we should get all the data to set
               */
              prop = instanceOf(prop, Model) ? prop.getData() : prop;
  
              this._set(prop, val);
  
              if (!isSetting && this._changed) {
                  // Signal any changed properties
                  this._onChangeProperty(this._changedProperties);
  
                  // Signal change
                  this.signalChange();
                  
                  // reset changed and changed properties
                  this._resetChanged();
              }
          }
  
          return this;
      }
docs: Store the key/value pair in the Model instance
  
  @param  {String} prop Property name to be stored
  @param  {Array|Function|Number|Object|String} val Property value to be stored
  Function property will be invoked with 'call', bound to the Model instance
  @return {Class} The Model instance