Use direct invocation instead of call_user_func
Before: 0.390 seconds for 1000000 run(s)
After:  0.218 seconds for 1000000 run(s)