Add missing tests for incomplete matchers throwing exceptions
Move ivars down to implementation where we can. Update properties to be modern