Can't we call the distribution parameter something else? Or even remove it and only look at the recipients list?

It seems weird that the transport component has to know what the cache mode is in order to send a message.