text: /**
   * This module defines all the arguments that may be passed to a message.
   * 
   * Each argument may contain a field `__argName`, if the name of the field
   * should be different when sent to the server.
   * 
   * The argument may also contain a field `__argType`, if the given
   * argument must be of that type. The types are the strings resulting from
   * calling `typeof <arg>` where `<arg>` is the argument.
   * 
   * Other than that, the arguments are expected to follow the indicated
   * structure.
   */
  
  module.exports = {
      collapseKey: {
          __argName: "collapse_key",
          __argType: "string"
      },
      priority: {
          __argType: "string"
      },
      contentAvailable: {
          __argName: "content_available",
          __argType: "boolean"
      },
      mutableContent: {
          __argName: "mutable_content",
          __argType: "boolean"
      },
  	delayWhileIdle: {
          __argName: "delay_while_idle",
          __argType: "boolean"
      },
      timeToLive: {
          __argName: "time_to_live",
          __argType: "number"
      },
      restrictedPackageName: {
          __argName: "restricted_package_name",
          __argType: "string"
      },
      dryRun: {
          __argName: "dry_run",
          __argType: "boolean"
      },
      data: {
          __argType: "object"
      },
      notification: {
          __argType: "object"
          //TODO: There are a lot of very specific arguments that could
          //      be indicated here.
      }
  };
  