from dataclasses import dataclass @dataclass class ServiceObj: event_id: str # digest of the event where the object is created / modified class BaseService: """ Base class for services """ def __init__(self, sheerka): self.sheerka = sheerka def initialize(self): """ Adds cache or bind methods :return: """ pass def restore_values(self, *args): """ Use Variable Manager to restore the state of a service :param args: :return: """ for prop_name in args: if (value := self.sheerka.load_var(self.NAME, prop_name)) is not None: setattr(self, prop_name, value)