code: function(p_type, p_config) {
  
          this.__yui_events = this.__yui_events || {};
          var opts = p_config || {},
              events = this.__yui_events, ce;
  
          if (events[p_type]) {
          } else {
  
              ce = new YAHOO.util.CustomEvent(p_type, opts.scope || this, opts.silent,
                           YAHOO.util.CustomEvent.FLAT, opts.fireOnce);
  
              events[p_type] = ce;
  
              if (opts.onSubscribeCallback) {
                  ce.subscribeEvent.subscribe(opts.onSubscribeCallback);
              }
  
              this.__yui_subscribers = this.__yui_subscribers || {};
              var qs = this.__yui_subscribers[p_type];
  
              if (qs) {
                  for (var i=0; i<qs.length; ++i) {
                      ce.subscribe(qs[i].fn, qs[i].obj, qs[i].overrideContext);
                  }
              }
          }
  
          return events[p_type];
      }
docs: Creates a new custom event of the specified type.  If a custom event
  by that name already exists, it will not be re-created.  In either
  case the custom event is returned.
  
  @method createEvent
  
  @param p_type {string} the type, or name of the event
  @param p_config {object} optional config params.  Valid properties are:
  
  <ul>
  <li>
  scope: defines the default execution scope.  If not defined
  the default scope will be this instance.
  </li>
  <li>
  silent: if true, the custom event will not generate log messages.
  This is false by default.
  </li>
  <li>
  fireOnce: if true, the custom event will only notify subscribers
  once regardless of the number of times the event is fired.  In
  addition, new subscribers will be executed immediately if the
  event has already fired.
  This is false by default.
  </li>
  <li>
  onSubscribeCallback: specifies a callback to execute when the
  event has a new subscriber.  This will fire immediately for
  each queued subscriber if any exist prior to the creation of
  the event.
  </li>
  </ul>
  
  @return {CustomEvent} the custom event