Ok, Mark, point taken.
How about we add a `request: HttpRequest` parameter to your proposed `getChallengeHeaders` method?
This way we enable challenges that somehow depend on request properties...