code: function(type, fn) {
  
          var a = YArray(arguments, 0, true);
  
          switch (L.type(type)) {
              case 'function':
                  return Y.Do.after.apply(Y.Do, arguments);
              case 'array':
              //     YArray.each(a[0], function(v) {
              //         v = AFTER_PREFIX + v;
              //     });
              //     break;
              case 'object':
                  a[0]._after = true;
                  break;
              default:
                  a[0] = AFTER_PREFIX + type;
          }
  
          return this.on.apply(this, a);
  
      }
docs: Subscribe to a custom event hosted by this object.  The
  supplied callback will execute after any listeners add
  via the subscribe method, and after the default function,
  if configured for the event, has executed.
  @method after
  @param type    {string}   The type of the event
  @param fn {Function} The callback
  @param context {object} optional execution context.
  @param arg* {mixed} 0..n additional arguments to supply to the subscriber
  @return the event target or a detach handle per 'chain' config