code: function Nexmo(keys){
    if (!keys) return
    this.name = "nexmo"
    this.keys = keys
  
    this.initialize = function() {
      var API_PROTOCOL = "https"
      var DEBUG = false
      nexmo = require('easynexmo')
      nexmo.initialize(this.keys.api_key, this.keys.api_secret, API_PROTOCOL, DEBUG)
      this.client = nexmo
    }
  
    this.send = function(data, callback) {
      var context = this;
      this.client.sendTextMessage(this.keys.from_phone, data.to, data.message, {}, function(err, result){
        var nexmoStat;
  
        if (err) {
          // Something went wrong
          nexmoStat = new NexmoErrorStatus(err);
          debug("-_-_ FAILED with nexmo _-_-");
          debug(nexmoStat);
          return callback(nexmoStat);
  
        } else {
  
          if (parseInt(result.messages[0].status) != 0) {
            // Message rejected by Nexmo
            nexmoStat = new NexmoErrorStatus(result);
            debug("-_-_ FAILED with nexmo _-_-");
            debug(nexmoStat);
            return callback(nexmoStat);
  
          } else {
            // Success
            nexmoStat = new NexmoSuccessStatus(result);
            debug("-_-_ sent with nexmo _-_-");
            result.service = context;
            result.status = nexmoStat;
            debug(result);
            return callback(null, result);
          }
        }
      })
  
    }
  
    this.initialize()
  }
docs: /*=============================================================================
  
  Define Nexmo Service Provider
  
  =============================================================================