Tests for the result factory.
Comment ALL the code!
Provide useful data in error results.
Remove implementation specific methods from the interface.
Missed the NotFoundResult status code.
Added two missing unit tests.