I was thinking that - I actually had a branch based off the first one that did this, but obviously it didn't work since it hooked into `deliver_mail`, which only happens _after_ the mail has been generated.

Would it be okay to get this in first and then work on a refactoring later? It would probably require moving the existing `#process` code into a module (Implementation) and then including that and a separate Instrumentation module. It could easily obfuscate the content of this PR.