Added validity states, custom per-selector events