refactored: models validations
add: user_observer, request_observer