code: def start_message_processing(self):
          
          t = InfiniteLoopThread(self.process_messages, thread_name="MESSAGEPROCESSOR", wait_between_runs=0.5)
          t.start()
          return t
docs: Starts up the message processor thread, that continuously reads
          messages sent to self.incoming_message_mailbox, and starts or cancels jobs based on the message received.
          Returns: the Thread object.