docs: def spawn_thread(self):
          'causes run to be executed in a thread'
          self.thread = threading.Thread(target=self.run, args=(False,))
          self.thread.daemon = True
          self.thread.start()