Sanity check for callable check

Make sure the check is callable
Use call_user_func_array when calling user defined function

Fixes #1194