Sometimes there is no transaction but we do switch connections. Moving this logic to UnitOfWork would make the connection a property of the UnitOfWork. Isn't it a property of the send (or actually the queue)? Multiple connections could be used in one unit of work.