code: def start(self):
          
          # TODO(BMo) having this check is probably a good idea but I've \
          # disabled it for now while the PBC is in flux.
          # assert sip_pbc.release.__version__ == '1.2.3'
  
          scheduler_threads = [
              Thread(target=self._monitor_events, daemon=True),
              Thread(target=self._processing_controller_status, daemon=True),
              Thread(target=self._schedule_processing_blocks, daemon=True),
              Thread(target=self._monitor_pbc_status, daemon=True)
          ]
  
          for thread in scheduler_threads:
              thread.start()
  
          try:
              for thread in scheduler_threads:
                  thread.join()
          except KeyboardInterrupt:
              LOG.info('Keyboard interrupt!')
              sys.exit(0)
          finally:
              LOG.info('Finally!')
docs: Start the scheduler threads.