code: def run(self):
          
          # remove non-block results for end tasks
          if self._started.isSet() and \
             not self._running.isSet() and \
             not self._pausing.isSet() and \
             not self._finished.isSet():
              stride = 1 # FIXME
              tasks = self.get_outputs()
              wtasks = _Weave(tasks, repeats=stride)
              self._plunger = Thread(target=self._plunge, args=(wtasks, \
                              self._pausing.isSet, self._finish))
              self._plunger.deamon = True
              self._plunger.start()
              self._running.set()
          else:
              raise PlumberError
docs: Executes a started pipeline by pulling results from it's output 
          ``Pipers``. Processing nodes i.e. ``Pipers`` with the ``track`` 
          attribute set ``True`` will have their returned results stored within 
          the ``Dagger.stats['pipers_tracked']`` dictionary. A running pipeline 
          can be paused.