Update based on code review.

* Update readers to directly extend RequestReader for easier use.
* Update readers to minimize code duplication
* Cleanup a few stylistic issues