As a security officer, I need all web accesses to any case-oriented Active Record models recorded for export and analysis.

For controllers that access case in order to manipulate things associated with the case (CaseAssignment, CaseResource), we call impressionist inside the actions, not at the controller level; that lets us cover more situations than the global (per-controller) impressionist call. OTOH: still have to be able to override the controller name as logged (esp. in Stark).
Hmm. The point is that the next line gets rid of :unique using opts.delete(:unique). Since opts is not a local, I don't want to mutate it.  Since we do assign to a dup of ourself, now opts is a local with a local copy of the hash.