code: def start(self, stages=(1, 2)):
          
          if 1 in stages:
              if not self._started.isSet():
                  self._start_workers()
                  self._started.set()
          if 2 in stages:
              if not hasattr(self, '_pool_getter'):
                  self._start_managers()
docs: Starts the processes or threads in the internal pool and the threads, 
          which manage the **worker pool** input and output queues. The 
          **starting mode** is split into **two stages**, which can be initiated 
          seperately. After the first stage the **worker pool** processes or 
          threads are  started and the ``NuMap._started`` event is set ``True``.
          A call to the ``NuMap.next`` method **will** block. After the **second 
          stage** the ``NuMap._pool_putter`` and ``NuMap._pool_getter`` threads
          will be running. The ``NuMap.next`` method should only be called **after** 
          this method returns.
  
          Arguments:
          
            - stages (``tuple``) [default: ``(1, 2)``] Specifies which stages of 
              the start process to execute, by default both stages.