Actually i see a problem around things, i think the user shouldn't be let to view the report before all threads have stopped, that way you can call removeAllValidationThreads safely if they view it since all threads would be done