Yes I don't like the startup at moment either - but it make sure that state info is never lost during startup, but also removes old entries. If we don't remove old entries it tidies up significantly since we don't need to synchronise the prospectors (which is the worst part) - maybe I could remove that from this?

In my repo I have a branch I was further experimenting with the Prospector -> Registrar channel you saw before - this would solve all this prospector synchronisation bits and properly prune entries from state when not required - even during runtime (it only prune during startup here)