code: function Sendgrid(keys){
    if (!keys) return
  	this.name = "sendgrid"
  	this.keys = keys
  
    this.initialize = function() {
      this.client = require('sendgrid')(this.keys.api_user, this.keys.api_key);
    }
  
    this.send = function(data, callback) {
      var context = this;
      var emailData = {
        to: data.to,
        from: data.from || this.keys.from_email,
        subject: data.subject,
        html: data.message
      };
  
      // Validate from email
      var fromObj = validateFromEmail(emailData.from);
      if (!fromObj.valid) return callback(new SendgridUserStatus(fromObj.message, fromObj.statusCode));
  
      return this.client.send(emailData, function(err, result) {
        var sendgridStat;
        if (err) {
          sendgridStat = new SendgridErrorStatus(err);
          debug("-_-_ FAILED with sendgrid _-_-");
          debug(sendgridStat);
          return callback(sendgridStat);
        } else {
          sendgridStat = new SendgridSuccessStatus(result);
          debug("-_-_ sent with sendgrid _-_-");
          result.service = context;
          result.status = sendgridStat;
          debug(result);
          return callback(null, result);
        }
      });
    }
  
    this.initialize()
  }
docs: /*=============================================================================
  
  Define Sendgrid Service Provider
  
  =============================================================================