Several months ago I wrote about how I think you should design your services. The key criteria was that they have to have a batch mode enabled.
Afterward, I put together a screen cast that goes through all the stages that led me to that stage.
Davy Brion has taken this approach a bit further and posted all the infrastructure bits that are required to make this work as well as what you need to actually make the API almost as nice to use as the non batched version.
About the only thing that I would strive to improve there would be the need to explicitly register request & replies. I would try to get something convention based there. Maybe something like Request<TRespose>, and then have IHandler<TRequest> and route the whole thing through the container again.