I think inspecting on every message is probably not worth the cost of just enforcing that all custom handlers accept two arguments.