Add PasswordComplainceRule abstract class to remove some duplicate code