422 Branch

* Adds 422 for validation errors
* Adds 404 for not found
* Moves lookup logic to private methods (resolves #13)