wiki:ObserverScratchPad
class stream_source:
  def switch_output(self, new_writer):
    if isinstance(new_writer, int_fd):
      self.fd = int_fd
    else:
      self._writer = new_writer.write

basic class generate a stream_source wrapping a build process, or fetch process, as you're going in parallel you need that node finished, so you want it displayed

if build_op.started:
   build_op.switch_output(sys.stdout)
   build_op.lock.acquire()