def METHOD_NAME(self, key: GSVarType):
    """
    Trigger callbacks for state variable.
    This calls each callback for the specified key, without needing to
    change the value of the key.
    This is analogous to emitting a Qt signal.
    """
    if key in self._state_vars and key in self._callbacks:
        val = self.get(key)
        for i, callback in enumerate(self._callbacks[key]):
            try:
                # if callback doesn't take positional args, just call it
                if not inspect.signature(callback).parameters:
                    callback()
                # otherwise, pass value as first positional arg
                else:
                    callback(val)
            except Exception as e:
                print(f"Error occurred during callback {i} for {key}!")
                print(self._callbacks[key])
                print(e)