Busy loop that processes incoming WorkRequest messages via functions specified by add_command.
        Disconnects while servicing a message, reconnects once finished processing a message
        Terminates if a command runs shutdown method

def process_messages_loop_internal(self):
        """
        Busy loop that processes incoming WorkRequest messages via functions specified by add_command.
        Disconnects while servicing a message, reconnects once finished processing a message
        Terminates if a command runs shutdown method
        """
        while self.receiving_messages:
            # connect to AMQP server and listen for 1 message then disconnect
            self.work_request = None
            self.connection.receive_loop_with_callback(self.queue_name, self.save_work_request_and_close)
            if self.work_request:
                self.process_work_request()