function Stream (sendTo) {
    this.sendTo = sendTo;
    this.responseObject = new Object();
    this.responseText;
}

Stream.prototype.request = function (sub, obj, async) {
    var responseObject;
    var responseText;
    async = async ? true : false;
    if(!sub) return;
    if(!obj) obj = {};
    new Ajax.Request(this.sendTo, {
        parameters: $H({
            __sub__: sub,
            __obj__: Object.toJSON(obj)
        }).toQueryString(),
        asynchronous: async,
        method: 'post',
        onComplete: function(res) {
            responseText = ('r=' + res.responseText + ';');
            eval('responseObject=' + res.responseText + ';');
        }
    });
    this.responseText = responseText;
    return this.responseObject = responseObject;
}
