Split matchers into multiple files

Simply a code-restructuring change for maintainability and clarity.