A validator using observer pattern