docs: function GameLevel(options, channel) {
  
      /**
       * ### GameLevel.channel
       *
       * Reference to the Channel
       */
      this.channel = channel;
  
      /**
       * ### GameLevel.registry
       *
       * The registry of all connected clients
       *
       * @see ChannelRegistry
       */
      this.registry = this.channel.registry;
  
      /**
       * ### GameLevel.options
       *
       * Configuration options
       */
      this.options = options;
  
      /**
       * ### GameLevel.name
       *
       * The name of the level
       */
      this.name = options.name;
  
      /**
       * ### GameLevel.sysLogger
       *
       * The logger for the channel
       */
      this.sysLogger = this.channel.sysLogger;
  
      /**
       * ### GameLevel.waitingRoom
       *
       * The waiting room for the channel.
       *
       * @see GameLevel.createWaitingRoom
       */
      this.waitingRoom = null;
  
      /**
       * ### GameLevel.requirementsRoom
       *
       * The requirements room for the channel.
       *
       * @see GameLevel.createRequirementsRoom
       */
      this.requirementsRoom = null;
  
      /**
       * ### GameLevel.gameRooms
       *
       * Associative container for all the game rooms in the channel.
       *
       * @see GameLevel.createGameRoom
       */
      this.gameRooms = {};
  
      // Creates waiting and requriements room.
      if (options.requirements && options.requirements.enabled) {
          this.createRequirementsRoom(options.requirements);
      }
      if (options.waitroom) {
          this.createWaitingRoom(options.waitroom);
      }
  
      // Sets the entry room, if either requirements or waiting is created.
      if (this.requirementsRoom) this.setEntryRoom(this.requirementsRoom);
      else if (this.waitingRoom) this.setEntryRoom(this.waitingRoom);
  }