add websocket endpoint for event stream, cleanup