What do you mean that all interactions between components are asynchronous?
I've built and am maintaining a rather large chrome extension for video recording using xstream/cyclejs.
I find that the thing xstream get exactly right is that stream is an abstraction of Values Over Time and not a queue of messages.
It's a subtle but important distinction. xstream and by consequence cyclejs is synchronous. When a value goes into the stream, all interconnected streams ar executed synchronously.