The current state works quite OK. Often it makes sense to split tests with different test setup into two test case classes, like I've done a couple of places. Elsewhere, it works great to create a `get_config()` method which subclasses can override, call, amend the result from, and then return the proper config.

Best of all, there's very little magic in it.