Only propagate exceptions in Test runner to caller, don't call errorOccurred().
Cleanup: move finishWritingOutput code to InteractiveFormatter
Simplify creation of formatters in TestResponder.
Replace ResultsListener.errorOccurred() with testSystemStopped().
Rename ResultsListener.newTestStarted() to testStarted().
Use Generic for TestSystemListener
Let ResultsListener inherit from TestSystemListener.
Renamed ResultsListener.allTestingComplete() to close() (implement java.io.Closeable).
Let CompositeFormatter inherit from CompositeTestSystemListener.
Replace ResultsListener by TestSystemListener for BaseFormatter, JUnit formatters, PrintTestFormatter and PageInProgressFormatter.
Remove ResultsListener interface. Use TestSystemListener instead (in conjunction with TestRunnerListener and Closeable)
Move CompositeExecutionLog to fitnesse.reporting
Change setExecutionLogAndTrackingId() to setTrackingId().
TestRunner no longer has to maintain a composite log.