I had been search and search for an implementation of the actor model that could run in isomorphic contexts, in both browser and in node. Seeing as I have already got communication documented in my last post, all I want to do is send messages from server actor to client actor. It turns out that xstate offers more than just state machines, xstate has an actor API, how did I miss that, I wasted time implimenting my own bits and bobs. Now I'm going to tear down what I have and refactor with xstate.
Moral of the story, read the docs again.