Can you use call_user_func($callback, $fields); here? Not every callable value is a variable function.