Observer

I think that ```isValid(User user)``` would be more appropriate