                       "daemon: %s)", self.__class__.__name__, group, target, name, args, kwargs,
                       daemon)
          super().__init__(group=group, target=target, name=name, args=args, kwargs=kwargs,
                           daemon=daemon)
          self.widget = widget
          self._config = get_config()
          self._config.set_cursor_busy(widget=self.widget)
          self.complete = Event()
          self._queue = Queue()
          logger.debug("Initialized %s", self.__class__.__name__,)
 
</s> remove         elif not self.thread.complete.is_set():
 </s> add             return True
        if not self.thread.complete.is_set(): </s> remove         lbl.pack(padx=5, pady=5, side=tk.LEFT, anchor=tk.N, expand=True)
 </s> add         lbl.pack(pady=5, side=tk.LEFT, anchor=tk.N, expand=True) </s> remove                 self.complete.set()
 </s> add         except Exception:  # pylint: disable=broad-except
            self.err = sys.exc_info()
            logger.debug("Error in thread (%s): %s", self._name,
                         self.err[1].with_traceback(self.err[2]))
        self.err = None
                       "daemon: %s)", self.__class__.__name__, group, target, name, args, kwargs,
                       daemon)
          super().__init__(group=group, target=target, name=name, args=args, kwargs=kwargs,
                           daemon=daemon)
        self.err = None
          self.widget = widget
          self._config = get_config()
          self._config.set_cursor_busy(widget=self.widget)
          self.complete = Event()
          self._queue = Queue()
          logger.debug("Initialized %s", self.__class__.__name__,)
keep keep keep add keep keep keep keep keep keep
 GUI responsiveness and feature updates

- Add error handling to LongRunningTask
- Analysis: Fix timestats bug for missing session data
- Training: Update training graph inside LongRunningTask
- Training: Smoothing Amount Slider geometry fix
- Training: Auto update Analysis tab on training start and save interval
- Scripts: Keep control of the UI when terminating by terminating using LongRunningTask 
lib/gui/utils.py