The previous design was different in that it was trying to be a blackbox: attributes were private and the user was only supposed to use `__call__`. Here, I'm just trying to add annotations to metrics. This is indeed close to decorators but one advantage of `make_scorer` is that you can easily pass extra parameters, e.g., `SCORERS["ndcg@10"] = make_scorer(ndcg_score, k=10)`.