chore(mutext): prevent double lock release
* feat: restore progress * feat: keep restore progress on reload * refactor: centralize sse event types * refactor(sse): generic handler factory