          if self._is_standalone:
              self.pack(fill=tk.BOTH, expand=True)
  
          self._output_helptext()
          self._launch()
  
      @property
      def master_frame(self) -> tk.Frame:
          """ :class:`tkinter.Frame`: The master frame that holds the preview window """
          return self._master_frame
 
</s> remove     @classmethod
    def _output_helptext(cls) -> None:
 </s> add     @property
    def master_frame(self) -> tk.Frame:
        """ :class:`tkinter.Frame`: The master frame that holds the preview window """
        return self._master_frame

    def pack(self, *args, **kwargs):
        """ Redirect calls to pack the widget to pack the actual :attr:`_master_frame`.

        Takes standard :class:`tkinter.Frame` pack arguments
        """
        logger.debug("Packing master frame: (args: %s, kwargs: %s)", args, kwargs)
        self._master_frame.pack(*args, **kwargs)

    def save(self, location: str) -> None:
        """ Save action to be performed when save button pressed from the GUI.

        location: str
            Full path to the folder to save the preview image to
        """
        self._image.save_preview(location)

    def remove_option_controls(self) -> None:
        """ Remove the taskbar options controls when the preview is disabled in the GUI """
        self._taskbar.destroy_widgets()

    def _output_helptext(self) -> None: </s> remove         self._master_frame.pack(fill=tk.BOTH, expand=True)
        logger.debug("Initialized %s", self.__class__.__name__)
 </s> add         if self._is_standalone:
            self.pack(fill=tk.BOTH, expand=True)
 </s> remove     is_standalone: bool
        ``True`` if preview is a pop-up window otherwise ``False``
 </s> add     taskbar: :class:`tkinter.ttk.Frame` or ``None``
        None if preview is a pop-up window otherwise ttk.Frame if taskbar is managed by the GUI </s> remove     @property
    def update_preview(self) -> tk.BooleanVar:
        """ :class:`tkinter.BooleanVar`:  ``True`` if the preview should be refreshed
        otherwise ``False`` """
        return self._update_preview

 </s> add 
        logger.debug("Initialized %s", self.__class__.__name__)

          if self._is_standalone:
              self.pack(fill=tk.BOTH, expand=True)
  
          self._output_helptext()
        logger.debug("Initialized %s", self.__class__.__name__)

          self._launch()
  
      @property
      def master_frame(self) -> tk.Frame:
          """ :class:`tkinter.Frame`: The master frame that holds the preview window """
          return self._master_frame
keep keep keep add keep keep keep keep keep keep
 GUI - Preview updates
  - Training preview. Embed preview pop-out window
  - Bugfix - convert/extract previews 
lib/training/preview_tk.py