A question I asked on the IRC was does each mediator invocation really need a its own MessageContext instance.

I still don't understand why the MC can't be reused amongst mediator invocations? What am I missing here, whats in each MC that wont be copied or mustn't be shared? Wouldn't it be quite a bit more efficient to have each mediator work against the one MC?

Maybe this answer depends on the answer to 'are mediators services' question.