code: function(fn, obj) {
  
          if (!fn) {
              return this.unsubscribeAll();
          }
  
          var found = false;
          for (var i=0, len=this.subscribers.length; i<len; ++i) {
              var s = this.subscribers[i];
              if (s && s.contains(fn, obj)) {
                  this._delete(i);
                  found = true;
              }
          }
  
          return found;
      }
docs: Unsubscribes subscribers.
  @method unsubscribe
  @param {Function} fn  The subscribed function to remove, if not supplied
  all will be removed
  @param {Object}   obj  The custom object passed to subscribe.  This is
  optional, but if supplied will be used to
  disambiguate multiple listeners that are the same
  (e.g., you subscribe many object using a function
  that lives on the prototype)
  @return {boolean} True if the subscriber was found and detached.