code: function (type, cfg) {
              var customEventObservable, self = this;
              splitAndRun(type, function (t) {
                  customEventObservable = self.getCustomEventObservable(t, true);
                  util.mix(customEventObservable, cfg);
              });
              return self;
          }
docs: Creates a new custom event of the specified type
  @method publish
  @param {String} type The type of the event
  @param {Object} cfg Config params
  @param {Boolean} [cfg.bubbles=true] whether or not this event bubbles
  @param {Function} [cfg.defaultFn] this event's default action
  @chainable