Refactored Matchers and ReadWriteGenerators into their own packages