function ShellStream(args){
    if(this instanceof ShellStream === false){
        return new ShellStream(args);
    }

    this._command = args;
    this._events = [];
    var self = this;
    // Create holders for events to be added
    streams.forEach(function(stream){
        self[stream] = {on:this.on, _events:[]};
    });
}
function ShellStream(args){
    if(this instanceof ShellStream === false){
        return new ShellStream(args);
    }

    this._command = args;
    this._events = [];
    var self = this;
    // Create holders for events to be added
    streams.forEach(function(stream){
        self[stream] = {on:this.on, _events:[]};
    });
}
function ShellStream ( args ) { if ( this instanceof ShellStream === false ) { return new ShellStream ( args ) ; } this . _command = args ; this . _events = [ ] ; var self = this ; // Create holders for events to be added streams . forEach ( function ( stream ) { self [ stream ] = { on : this . on , _events : [ ] } ; } ) ; }
Main function for creating a shellstream

@param {Array} args -> arguments to apply to PipeStream

@returns {ShellStream}
Main function for creating a shellstream