protected function _callUserFunction($function, $key, $value, $attributes)
    {
        if (is_callable($function)) {
            return call_user_func_array($function, [$key, $value, $this, $attributes]);
        }

        return $value;
    }
protected function _callUserFunction($function, $key, $value, $attributes)
    {
        if (is_callable($function)) {
            return call_user_func_array($function, [$key, $value, $this, $attributes]);
        }

        return $value;
    }
protected function _callUserFunction ( $ function , $ key , $ value , $ attributes ) { if ( is_callable ( $ function ) ) { return call_user_func_array ( $ function , [ $ key , $ value , $ this , $ attributes ] ) ; } return $ value ; }
run given function, method or closure on given data

@param array|string|\Closure $function
@param string $key
@param mixed $value
@param mixed $attributes
@return mixed
run given function method or closure on given data