check for __invoke() method instead of parameter type