Large refactoring to use more OOP approach for tracking test results.