I was momentarily surprised you named the registrar module here, not a separate module, but I see your logic. Comment please. I wonder if on_tsx_state should be in deregister.cpp not registrar.cpp.