That's absolutely the way I want to do it.

The issue is that it's called from so many locations. We'd have to pass the app (or some other reference) down a long chain I feel. I didn't try because it seemed hard.