define([
], function(
) {
    "use strict";

    function PubSub() {
        this._callbacks = Object.create(null);
    }

    var _p = PubSub.prototype;

    _p.subscribe = function(event, callback) {
        var callbacks = this._callbacks[event];
        if(!callbacks)
            this._callbacks[event] = callbacks = [];
        callbacks.push(callback);
    };

    _p.publish = function(event /* , args, ... */) {
        var i, l
          , args = []
          , callbacks = this._callbacks[event] || [];
          ;
        for(i=1,l=arguments.length;i<l;i++)
            args.push(arguments[i]);
        for(i=0,l=callbacks.length;i<l;i++)
            callbacks[i].apply(null, args);
    };

    return PubSub;
});

@@ -37,16 +37,476 @@
 trict%22;%0A
+    /**%0A     * Simple module for signaling.%0A     *%0A     * On a call to %60pubSub.publish(%22channel-name%22%5B, optional, arg1, ... args%5D)%60%0A     * the callback of all subscriptions of %22channel-name%22 will be invoked%0A     * with the optional arguments given to %60publish%60:%0A     *          %60callback(optional, arg1, ... args)%60%0A     *%0A     * The subscriptions are always invoked in the order of subscription.%0A     *%0A     * There's no way to cancel subscription yet.%0A     */
 %0A    fun
@@ -636,21 +636,23 @@
 unction(
-event
+channel
 , callba
@@ -697,21 +697,23 @@
 llbacks%5B
-event
+channel
 %5D;%0A     
@@ -758,21 +758,23 @@
 llbacks%5B
-event
+channel
 %5D = call
@@ -853,21 +853,23 @@
 unction(
-event
+channel
  /* , ar
@@ -965,21 +965,22 @@
 cks%5B
-event
+channel
 %5D %7C%7C %5B%5D
-;
 %0A   

add inline comments, change some naming