See Note [deferSeverityLogAction] for the rationale behind this change.
I've talked with @simonmar on how to implement this properly a long time
ago, this is likely not the implementation we will want to go with.
I'm creating this to gather comments on how to implement this properly.
We've been using code similar to this for 2 years and it was met with
enthusiasm from our users.