call_user_func is slow when hit lots of times.