docs: def addLayer(self, cls=None):
          """
          Creates a new layer instance for this scene.  If the optional cls \
          parameter is not supplied, then the default layer class will be \
          used when creating the layer.
          
          :param      cls     <subclass of XNodeLayer>
          
          :return     <XNodeLayer> || None
          """
          if ( not cls ):
              cls = self.defaultLayerClass()
              
          if ( not cls ):
              return None
          
          # create the new layer
          layer = cls(self)
          self._layers.append(layer)
          self.setCurrentLayer(layer)
          self.setModified()
          
          return layer