* add class * restore runtime state in dispatcher * restore on startup with special case for profile * add tests * update docs * mypy