Rework manager/registrar tracking
Previously, there was a class ManagerCount
that tracked registration instances with its own external Schwartz counter. This does not work if the void*
used to track the manager is reused at all after deallocation. Instead, have the managers track what has been registered to them and keep themselves alive until all instances are unregistered from them.