code: def _reap_payloads(self):
          
          for thread in self._threads.copy():
              # CapturingThread.join will throw
              if thread.join(timeout=0):
                  self._threads.remove(thread)
                  self._logger.debug('reaped thread %s', thread)
docs: Clean up all finished payloads