I just feel funny about the possibility of throwing an exception every time the listenner catches a character and passes it to validate.  The user will never see them, but the fact that we expect it to happen so commonly here makes me a little bit uneasy about it.