When I actually test this manually, I get errors. Some additional implementation will likely be needed:
* RdfStream implements ListenableFuture
* When the RdfStream has the LogoutCallback added, Uninterruptibles.getUniterruptibly(RdfStream) is called...
which throws an exception because RdfStream.get() throws an exception.

We probably need a more robust implementation of get() here.