Start creating a more flexible test structure for more complex service test scenarios.

Those scenarios include:
- performing several operations inside the same transaction
- rolling back or aborting a transaction
- running multiple transactions that edit different services
- running multiple transactions that edit a common set of services
- running multiple transactions that edit related services
- complex scenarios with a mix of the above scenarios