refactor dispatch

I'm trying to think how to make the code more readable; we have the batch request, and a single request within the batch. 
What do you think?

We could further rename all other places (or we can just provide it with session), I just want to see what do you think.