'Tries to connect to the player
It *should* be successful if the player is alive'

def ensure_connected(f):

    def wrapper(*args, **kwargs):
        self = args[0]
        try:
            self.iface.GetMetadata()
        except (dbus.exceptions.DBusException, AttributeError):
            self._connect()
        return f(*args, **kwargs)
    return wrapper
