Raw message bodies the platform hands over.
Listening arms the platform listener; cancelling the subscription disarms it. Returns the same stream instance on every call.
@override Stream<String> messages() => _stream;