code: function(evtStr) {
              var events = evtStr.split(SPACE),
                  len = events.length,
                  n, t, event, parts, baseEvent, name;
  
              for(n = 0; n < len; n++) {
                  event = events[n];
                  parts = event.split(DOT);
                  baseEvent = parts[0];
                  name = parts[1];
  
                  if(baseEvent) {
                      if(this.eventListeners[baseEvent]) {
                          this._off(baseEvent, name);
                      }
                  }
                  else {
                      for(t in this.eventListeners) {
                          this._off(t, name);
                      }
                  }
              }
              return this;
          }
docs: remove event bindings from the node. Pass in a string of
  event types delimmited by a space to remove multiple event
  bindings at once such as 'mousedown mouseup mousemove'.
  include a namespace to remove an event binding by name
  such as 'click.foobar'. If you only give a name like '.foobar',
  all events in that namespace will be removed.
  @method
  @memberof Kinetic.Node.prototype
  @param {String} evtStr e.g. 'click', 'mousedown touchstart', '.foobar'
  @returns {Kinetic.Node}
  @example
  // remove listener<br>
  node.off('click');<br><br>
  
  // remove multiple listeners<br>
  node.off('click touchstart');<br><br>
  
  // remove listener by name<br>
  node.off('click.foo');