Why abstract? And why extending a `PHPUnit_Framework_TestCase`?