in the case where a user passes in a HttpClient (2nd cstor) that could potentially overwrite a RedirectHandlered they placed on the httpClient. this is the only thing in the whole setup i wasn't happy with how it turned out. there didn't seem to be a cleaner way to go about it. 

the only full-proof-ish solution i could think of would be to wrap whatever RedirectHandler the client has after this.client = client with something that proxies the real handler (normally the default, but could be something else the user passed in.)