Perhaps the condition should be changed to be `!is_string($callable) && is_callable($callable)` so that objects implementing `__invoke()` are supported.