> If I understand correctly, the need for this is to maintain order between persisted and non-persisted messages by sending them through the same journal?

Exactly.

> Maybe it deserves a comment. Also please comment that the reason for separate Looped and Written messages (instead of a simple flag "persisted") is that one stores Any, while the other stores MessageImpl

Will do