I'd like to use a different name here - perhaps `allEndpoints`?  Also, let's add a non-private interface to matcher, rather than digging into `_patterns`.