Could you elaborate on "become a connection" logic? What kind of problem is that? You may need to change user interface a bit to fit into CRDTs.
Look at _init() here to get a feel of it:
https://github.com/hyperhyperspace/hyperhyperspace-web/blob/...
I think you may have met some of my colleagues working on similar problems at Dweb camp recently.