So have Request as an optional argument to the ctor, and throw a BadMethodCallException if any of the methods using server vars are called without Request being available?