Added new interfaces and a little bit of refactoring.
Partly implemented BasicTestRunner, refactored a little bit.