refactor testworker interface to allow for more complex tests
Tooling needed to run shutdown tests