To make a point out of it: This is not event based in the event sourcing way of thinking. It is using messages. You put a message on a queue, someone else picks it up. Mats implements a request/reply paradigm on top ("messaging with a call stack").
In the interactive, synchronous situation, you do not "wait for an event" per se. You wait for a specific reply. When using the MatsFuturizer (https://mats3.io/docs/sync-async-bridge/), it is extremely close to how you would have used a HttpClient or somesuch.
MatsSocket: The Dart/Flutter implementation is used in a production mobile app. For the Norwegian market only, though.
The JS implementation is used in an internal solution.
Would have been really nice with a bit more usage, yes. It is actually pretty nice, IMHO! ;-)