code: function(options) {
    options = options || {};
  
    this.serviceRoot = options.serviceRoot;
    this.name = options.name;
    this.description = options.description;
    this.slug = options.slug;
  
    ['help', 'auth'].forEach(function(k) {
      if(options.hasOwnProperty(k)) {
        this[k] = options[k];
      }
    }, this);
  
    this.scripts = options.scripts || {};
  
    // Auto-load all our methods
    this.methodDir = path.join(this.serviceRoot, 'methods');
    this.methodOrder = options.methods;
    this.methods = [];
    this.loadMethods();
  
    // Index the methods for speed
    this.methodsIndexed = _.keyBy(this.methods, 'slug');
  }
docs: FlowXO SDK Service
  @param {Object} options
  @param {String} options.serviceRoot Path to root directory of service
  @param {String} options.methodDir   Path to root directory of service methods
  Defaults to {{options.serviceRoot}}/methods
  @param {String} options.name        Human-readable name of the service
  @param {String} options.slug        Service Slug
  @param {Object} options.auth        Authentication Options
  @param {String} options.auth.type   Authentication Type. Either 'oauth1',
  'oauth2', 'credentials' or 'openid'
  
  @constructor