code: function IOInterface(output, input, data) {
      this._output = output || function() { };
      this._input = input || function(done) { done('\n'); };
      this._data = data || {};
  }
docs: An interface for custom input/output
  
  @param {Function?} output An output function
  @param {Function?} input An input function
  @param {Object?} data Data