I don't like the rhum based solution. Can't we just have a function pointer instead?