Moving validation to model and reducing router logic. Updating tests.
Updating routes to have error handling route. Fixing tests.