code: function(event){
      // @patch: for list
      var context = this;
      var handles = context._handles, calls, args, type;
      if(!event) return;
      var args = _.slice(arguments, 1);
      var type = fix(event);
  
      if(!handles) return context;
      if (!(calls = handles[type])) return context;
  
      if(calls.length > 1){ // handle, when first is off the event
        calls = calls.slice();
      }
      
      for (var i = 0, len = calls.length; i < len; i++) {
        if(typeof calls[i] === 'function') calls[i].apply(context, args)
      }
      return context;
    }
docs: bubble event