Basically, and in my cases unrelated to caching (not unlike David Parker), i needed to observe my controller actions. Well, i needed to couple behaviour onto an existing process and observing is (one of) the nicest ways to do it really.
When a user requests a report, let the controller do the checks and balances, pass it on to a presenter, and then let the world know a (correct) report has been requested. Interested parties (for now) include:
* monitoring for statistical purposes and
* rendering soft copies for prosperity (which in turn notifies the world that soft copies are available)
Sweepers are the new black for this morning.