Challenges now have a 'visualizer' field that specifies a file with rendering logic for matches in that file