/// class ProspectDirector.Web.UI.EventBus

/**
@class EventBus
@constructor
@namespace Web.UI
**/
ProspectDirector.Web.UI.EventBus = Class.extend({

    /**
    @property _o {Object}
    @privtae
    **/
    _o: null,

    init: function (options) {
        this._o = $(this);
    },

    /**
    @method subscribe
    **/
    subscribe: function () {
        this._o.on.apply(this._o, arguments);
    },

    /**
    @method unsubscribe
    **/
    unsubscribe: function () {
        this._o.off.apply(this._o, arguments);
    },

    /**
    @method publish
    **/
    publish: function () {
        this._o.trigger.apply(this._o, arguments);
    },

    /**
    @method unsubscribeAll
    **/
    unsubscribeAll: function () {
        this._o.off.apply(this._o);
    }

});