ну почепму не:
```js
PubSub.prototype.publish = function(eventName, data) {

    if (!this.handlerBox[eventName]) {
        return false;
    }

    this.handlerBox[eventName].forEach(function(handler) {
        setTimeout(
            function(){ return handler(eventName, data); },
            5
        );
    });

    return true;
}
```
зачем лишнее ветвление?