docs: private void addHandler(Object handler)
      {
          // Would be nice to have a better way to do this,
          // but the type information isn't preserved in the XML format anymore -
          // and the number of types of handler is pretty unlikely to change, so this list
          // won't have to be added to often, if at all.
          if (handler == null)
              return;
  
          if (handler instanceof IVideoProducer)
              addVideoProducer((IVideoProducer)handler);
          else if (handler instanceof IAudioProducer)
              addAudioProducer((IAudioProducer)handler);
          else if (handler instanceof ICommandHandler)
              addCommandHandler((ICommandHandler)handler);
          else if (handler instanceof IObservationProducer)
              addObservationProducer((IObservationProducer)handler);
          else if (handler instanceof IRewardProducer)
              addRewardProducer((IRewardProducer)handler);
          else if (handler instanceof IWorldGenerator)
              addWorldGenerator((IWorldGenerator)handler);
          else if (handler instanceof IWorldDecorator)
              addWorldDecorator((IWorldDecorator)handler);
          else if (handler instanceof IWantToQuit)
              addQuitProducer((IWantToQuit)handler);
          else
              this.failedHandlers += handler.getClass().getSimpleName() + " isn't of a recognised handler type.\n";
      }