Implement a partial version of the Pimpl idiom
- Add a WriteMessage overload for Protobuf messages
- Reuse the cipher context