Track example state in the reporter

This is kind of a base for some of the work I'm doing on #1510, but I also want to use it for the profiling stuff I'm working on so I'm opening it for a separate review.