A distributed websocket based mechanism for managing queries and pushing updates when the queries change