Use __invoke() magic method instead of call_user_func()