Complete should matchers refactor

Ready to merge.