Comments, a new argument, and more.

* Add a bunch of comment describing what each of the main vars are for
* Pass the shouldRetry function the request method since it can't be
retrieved otherwise