code: function get(accessToken, options, params, callback, transportFactory) {
    var t;
    if (!callback || !_.isFunction(callback)) {
      callback = function() {};
    }
    options = options || {};
    _.addParamsAndAccessTokenToPath(accessToken, options, params);
    options.headers = _headers(accessToken, options);
    if (transportFactory) {
      t = transportFactory(options);
    } else {
      t = _transport(options);
    }
    if (!t) {
      logger.error('Unknown transport based on given protocol: ' + options.protocol);
      return callback(new Error('Unknown transport'));
    }
    var req = t.request(options, function(resp) {
      _handleResponse(resp, callback);
    });
    req.on('error', function(err) {
      callback(err);
    });
    req.end();
  }
docs: /*
  accessToken may be embedded in payload but that should not be assumed
  
  options: {
  hostname
  protocol
  path
  port
  method
  }
  
  params is an object containing key/value pairs to be
  appended to the path as 'key=value&key=value'
  
  payload is an unserialized object