Matcher class for Router helpers, basically encapsulates a predicate