oh, and what about #6, multiple hosts? if hostname was separate, it could optionally be an array, and $this->hosts could also be an array, and then we loop over all hosts to create the requests.