A better Reporting interface.

Still undecided on the names, so I'm fiddling around with them.