code: function(event, data) {
          //  To learn how the event system functions, see the comments for Crafty._callbackMethods
          if (this.length === 1) {
              //find the handlers assigned to the entity
              this._runCallbacks(event, data);
          } else {
              for (var i = 0; i < this.length; i++) {
                  var e = entities[this[i]];
                  if (e) {
                      e._runCallbacks(event, data);
                  }
              }
          }
          return this;
      }
docs: @
  #.trigger
  @comp Crafty Core
  @kind Method
  
  @sign public this .trigger(String eventName[, Object data])
  @param eventName - Event to trigger
  @param data - Arbitrary data that will be passed into every callback as an argument
  
  Trigger an event with arbitrary data. Will invoke all callbacks with
  the context (value of `this`) of the current entity object.
  
  *Note: This will only execute callbacks within the current entity, no other entity.*
  
  The first argument is the event name to trigger and the optional
  second argument is the arbitrary event data. This can be absolutely anything.
  
  Unlike DOM events, Crafty events are executed synchronously.