def METHOD_NAME(self, _proxy: Gio.DBusProxy, changed_properties: GLib.Variant,
                        invalidated_properties: List[str]) -> None:
    changed = changed_properties.unpack()
    object_path = self.get_object_path()
    logging.debug(f"{object_path} {changed} {invalidated_properties} {self}")
    for key in list(changed) + invalidated_properties:
        self.emit("property-changed", key, changed.get(key, None), object_path)