>> Blocks with ensure could help here as transactional context

(I just noticed this part of your note.)

That's what MockNew.use does.