Parameterise the arguments passed in to the actual test functions so TestCase doesn't need to care
Allow tests to declare requirements, skip them if requirements are not satisfied; parameterise away the Matrix Client instances