As a cast, this message isn't guaranteed to actually reach the server. Eg. call `broadcast` right as the server is crashing for some reason. We never acknowledge the broadcast actually made it to the server, that it was merged into local state, that any eager messages were triggered, etc. Is this fine? Would we prefer changing to a call that returns after some level of guarantee was met? Something else?