Reorganize scenario-based tests into separate class files

this is mainly done so that tests are run in isolation using surefire
VMs