Reorganise test cases into separate classes.
Automate tests for overwrite behaviour of pre-existing matcher class.
Add warnings dialog and option to cancel for conditions that might lead
to code that does not compile.