Currently the setup in binary_graph_stream.h is awkward. It requires the caller to be very careful about ensuring that threads are correctly paused before doing the query.
It would be much nicer to have a setup where we just call a query function and all this is handled behind the scenes.