Can we not just kill all of these hooks by stubbing out `connectionMade` on the protocol? It can call the original `connectionMade` after stubbing out `login` if we need to test that the original function calls `login`.