lots of refactoring to try and allow multiple consumer tests to write to the same pact file