It's a question of semantics. Should the magic instantiation logic take care of putting in a parent class TestSuite, or should the subclasses do it? What if the subclass wants other parents? This is part of the "public" API.