code: function OneSignal(keys){
    if (!keys) return
    this.name = "onesignal"
    this.keys = keys
  
    this.send = function(data, callback) {
      var context = this;
      var onesignalStat;
      var deviceType = getOneSignalDeviceType(data.deviceType);
      var notification = getOneSignalNotificationObject(deviceType, context.keys.app_id, data.deviceToken, data.message);
  
      request( getOneSignalRegisterOptions(context.keys.app_id, deviceType, data.deviceToken), function(err, result) {
  
        if (err) {
          onesignalStat = new OneSignalErrorStatus(err);
          debug("-_-_ FAILED with onesignal _-_-");
          debug(err);
          debug(onesignalStat);
          return callback(onesignalStat);
  
        } else if (result.statusCode != 200) {
          result.body.statusCode = result.statusCode;
          onesignalStat = new OneSignalErrorStatus(result.body);
          debug("-_-_ FAILED with onesignal _-_-");
          debug(onesignalStat);
          return callback(onesignalStat);
        }
  
        request( getOneSignalSendOptions(context.keys.api_key, notification), function(err, result) {
  
          if (err) {
            onesignalStat = new OneSignalErrorStatus(err);
            debug("-_-_ FAILED with onesignal _-_-");
            debug(err);
            debug(onesignalStat);
            return callback(onesignalStat);
  
          } else if (result.statusCode != 200) {
            result.body.statusCode = result.statusCode;
            onesignalStat = new OneSignalErrorStatus(result.body);
            debug("-_-_ FAILED with onesignal _-_-");
            debug(onesignalStat);
            return callback(onesignalStat);
  
          } else {
            onesignalStat = new OneSignalSuccessStatus(result.body);
            debug("-_-_ sent with onesignal _-_-");
            result.service = context;
            result.status = onesignalStat;
            debug(result);
            return callback(null, result);
          }
        })
      });
    }
  
  }
docs: /*=============================================================================
  
  Define OneSignal Service Provider
  
  =============================================================================