code: function Pilot(clientEmitter, namespace) {
    Pilot.super_.call(this);
  
    Object.defineProperties(this, {
  
      /**
       * The list of actually connected clients.
       *
       * @property clients
       * @type Array
       * @final
       */
      clients: {value: []},
  
      /**
       * The emitter to receive sockets' messages from clients.
       *
       * @property clientEmitter
       * @type AdvancedEmitter
       * @final
       */
      clientEmitter: {value: clientEmitter},
  
      /**
       * The sockets' namespace to communicate with clients.
       *
       * @property namespace
       * @type SocketNamespace
       * @final
       */
      namespace: {value: namespace}
  
    });
  
  }
docs: Defines a base pilot for all pilots.
  
  A Pilot is designed to interact with sockets' clients. It listens to sockets' messages
  by listening to its associated client emitter. It sends information to
  sockets' clients using its associated socket namespace.
  
  A Pilot keeps a list of connected clients with associated sockets.
  
  @class Pilot
  @constructor
  @param {AdvancedEmitter} clientEmitter The clients' emitter
  @param {SocketNamespace} namespace The clients' namespace