I think `protocol.connectionLost` gets called more reliably than the factory version. Also, we don't have a factory in the tests and I wanted to be able to test this stuff properly.