(reposted to a bigger group)
I added a comment in the design doc about how associated interface endpoints not listening could affect message order. I think a concrete example may help to explain my thoughts:
Example
Ben, John and I had a chat about this. One possible solution is to let mojo's router (MultiplexRouter) also manage the IPC message dispatching from IO to UI thread, so that we can guarantee they arrive in the right order. That requires exposing some API from MultiplexRouter. But maybe it is also helpful to take a step back and consider whether we do need to strictly preserve message order.