public Tuple <bool, string> VerifyPassword(string password, PasswordValidator validator)
        {
            if (password == null)
            {
                throw new ArgumentException($"{password} is null arg");
            }

            if (password == string.Empty)
            {
                return(Tuple.Create(false, $"{password} is empty "));
            }

            if (validator == null)
            {
                return(VerifyPassword(password));
            }

            bool result = true;

            foreach (PasswordValidator rule in validator.GetInvocationList())
            {
                result &= rule(password);
            }

            if (!result)
            {
                return(Tuple.Create(false, $"{password} is not valid"));
            }

            _repository.Create(password);

            return(Tuple.Create(true, "Password is Ok. User was created"));
        }