def METHOD_NAME(self, immediate: bool = False) -> None:
    session = self._session()
    if session is None and self.node:
        # If session is gone, our node should be too,
        # since it was part of the session's scene.
        # Let's make sure that's the case.
        # (since otherwise we have no way to kill it)
        logging.exception(
            'got None session on Background _die'
            ' (and node still exists!)'
        )
    elif session is not None:
        with session.context:
            if not self._dying and self.node:
                self._dying = True
                if immediate:
                    self.node.delete()
                else:
                    bs.animate(
                        self.node,
                        'opacity',
                        {0.0: 1.0, self.fade_time: 0.0},
                        loop=False,
                    )
                    bs.timer(self.fade_time + 0.1, self.node.delete)