code: function() {
              var args = Array.prototype.slice.call(arguments),
                  attr = args[0],
                  val = args[1],
                  method = SET + Kinetic.Util._capitalize(attr),
                  func = this[method];
  
              if(Kinetic.Util._isFunction(func)) {
                  func.call(this, val);
              }
              // otherwise set directly
              else {
                  this._setAttr(attr, val);
              }
              return this;
          }
docs: set attr
  @method
  @memberof Kinetic.Node.prototype
  @param {String} attr
  @param {*} val
  @returns {Kinetic.Node}
  @example
  node.setAttr('x', 5);