text: /**
   * Event maker.
   */
  Ext.define('Ext.ux.event.Maker', {
  
      eventQueue: [],
  
      startAfter: 500,
  
      timerIncrement: 500,
  
      currentTiming: 0,
  
  
      constructor: function (config) {
          var me = this;
  
          me.currentTiming = me.startAfter;
  
          if (!Ext.isArray(config)) {
              config = [config];
          }
  
          Ext.Array.each(config, function (item) {
              item.el = item.el || 'el';
              Ext.Array.each(Ext.ComponentQuery.query(item.cmpQuery), function (cmp) {
                  var event = {}, x, y, el;
  
                  if (!item.domQuery) {
                      el = cmp[item.el];
                  } else {
                      el = cmp.el.down(item.domQuery);
                  }
  
                  event.target = '#' + el.dom.id;
  
                  event.type = item.type;
  
                  event.button = config.button || 0;
  
                  x = el.getX() + (el.getWidth() / 2);
                  y = el.getY() + (el.getHeight() / 2);
  
                  event.xy = [x, y];
  
                  event.ts = me.currentTiming;
  
                  me.currentTiming += me.timerIncrement;
  
                  me.eventQueue.push(event);
              });
  
              if (item.screenshot) {
                  me.eventQueue[me.eventQueue.length - 1].screenshot = true;
              }
          });
          return me.eventQueue;
      }
  });