docs: function GameMsg(gm) {
          gm = gm || {};
  
          /**
           * ### GameMsg.id
           *
           * A randomly generated unique id
           */
          this.id = 'undefined' === typeof gm.id ?
              Math.floor(Math.random()*1000000) : gm.id;
  
          /**
           * ### GameMsg.sid
           *
           * The socket id, if provided
           *
           * Used by SocketIO to prevent spoofing, not used by other sockets
           * TODO: could this be session instead?
           */
          this.sid = gm.sid;
  
          /**
           * ### GameMsg.session
           *
           * The session id in which the message was generated
           */
          this.session = gm.session;
  
          /**
           * ### GameMsg.stage
           *
           * The game-stage in which the message was generated
           *
           * @see GameStage
           */
          this.stage = gm.stage;
  
          /**
           * ### GameMsg.action
           *
           * The action of the message
           *
           * @see node.constants.action
           */
          this.action = gm.action;
  
          /**
           * ### GameMsg.target
           *
           * The target of the message
           *
           * @see node.constants.target
           */
          this.target = gm.target;
  
          /**
           * ### GameMsg.from
           *
           * The id of the sender of the message
           *
           * @see Player.id
           * @see node.player.id
           */
          this.from = gm.from;
  
          /**
           * ### GameMsg.to
           *
           * The id of the receiver of the message
           *
           * @see Player.id
           * @see node.player.id
           */
          this.to = gm.to;
  
          /**
           * ### GameMsg.text
           *
           * An optional text adding a description for the message
           */
          this.text = gm.text;
  
          /**
           * ### GameMsg.data
           *
           * An optional payload field for the message
           */
          this.data = gm.data;
  
          /**
           * ### GameMsg.priority
           *
           * A priority index associated to the message
           */
          this.priority = gm.priority;
  
          /**
           * ### GameMsg.reliable
           *
           * Experimental. Disabled for the moment
           *
           * If set, requires ackwnoledgment of delivery
           */
          this.reliable = gm.reliable;
  
          /**
           * ### GameMsg.created
           *
           * A timestamp of the date of creation
           */
          this.created = J.getDate();
  
          /**
           * ### GameMsg.forward
           *
           * If TRUE, the message is a forward.
           *
           * E.g. between nodeGame servers
           */
          this.forward = 0;
      }