Add support for matches

Part of neighborly/neighborly#219 and depends of #63 and #64.