public static function __closurable($value, array $arguments = array())
    {
        if (is_callable($value)) {
            try {
                $val = call_user_func_array($value, $arguments);
                return $val;
            } catch (Exception $e) {
                self::__error(sprintf('Closure error: "%s"!', $e->getMessage()), $e->getFile(), $e->getLine());
            }
        } else {
            return $value;
        }
    }