clean-up: added PHPDocs, refactored validation methods
moved logic displaying service error to model
PHP refactoring after changes in model