Fix : not any type of callable can be passed

Using call_user_func to allow any kind of callable. Before we could not pass
callables like [ $foo, 'bar ]