Como comentario, te recomendaría que usaran interfaces para los objetos validadores de forma de que sea fácilmente extensible.
Con respecto a los mensajes, si lo que quieres es extensibilidad, entonces mejor ten una clase que reciba uno de los códigos y devuelva el String. De esta forma podrías, en un futuro, utilizar distintos idiomas.