Make matcher public

Not ready yet, needs some tests of the decorator function and needs some
more thought as to how to what exactly to be public.