actually publish events to websocket