changed the API to allow for test definition reuse