Well, if the intent is for a user to be able to sort the same data they just saw, then it makes sense to be able to see the same data each time. Another possilibity is to use something like DBM::Deep to pull the data you want to show, then build your view from that intermediate cache.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?