def on_dispose(func: Callable[[], Any], __file__: str | None = None):
path = Path(currentframe().f_back.f_globals["__file__"] if __file__ is None else __file__).resolve() # type: ignore
from .core import ReactiveModule
module = ReactiveModule.instances[path]
module.register_dispose_callback(func)