Factor a BitMessageChat class out of CryptoTransportLayer