eliminate need for callback queue

We can use the session as a promise waiting to be resolved.