It seems like maybe we should just send() every annotation individually. It's a websocket anyway. TCP Nagle should handle this. Unless there's significant overhead to each message?