Attempt to isolate matchers, resulted in cyclical deps (broken tests)
Fixed cyclical deps, but returning pointers to structs (broken tests)
Fixed cyclical deps, and returning clean interfaces (broken tests)
Finished major refactoring to isolate page matchers