def METHOD_NAME(self, *args, **kwargs):
    """Run the experiment in the background.
    This method replaces `Experiment.start()` and is blocking; it can safely be called
    from a Qt signal from a button.
    """
 #   self.prepare_to_run(*args, **kwargs)
    if self.progress_maximum is None:
        raise NotImplementedError("self.progress_maximum was not set - this is necessary.")
    self._progress_bar = QProgressDialogWithDeferredUpdate(
                                               self.__class__.__name__,
                                               "Abort",
                                               self.progress_minimum,
                                               self.progress_maximum)
    self._progress_bar.show()
    self._progress_bar.setAutoClose(True)
    self._progress_bar.canceled.disconnect()
    self._progress_bar.canceled.connect(self.stop_and_cancel_dialog)
    self._experiment_thread = self.run_in_background(*args, **kwargs)