Brainstorming: the handler and the matcher have 1 function, should it be `call()` (they would implement Function) ?