Filter becomes Selector

Selector is an object with a match function.
It's more flexible than the previous behaviour where Filter returned a
function