I like doing that when it makes the code clearer or serves some other purpose. In this case, all the test cases are going to exist outside of this file, so you're never going to instantiate MultiThreadedRunner. Its existence just serves to confuse the reader.