Refactor analysis pipeline
Separate the analysis code from the presentation code. This has a few benefits; better reuse, more clarity on what each bit does (and how). It also makes it possible to export data as CSV. And it sets up up for being able to do "rollups" in the near future to summarise performance changes at a higher level than resultclass.