protected function resolveUserId()
    {
        $userResolver = Config::get('audit.user.resolver');

        if (is_callable($userResolver)) {
            return $userResolver();
        }

        if (is_subclass_of($userResolver, UserResolver::class)) {
            return call_user_func([$userResolver, 'resolveId']);
        }

        throw new UnexpectedValueException('Invalid User resolver, callable or UserResolver FQCN expected');
    }