and as mentioned in the constructor, i would say that the `hosts` argumet if specified replaces (and not adds to) the default host (now still called domain) of this service. maybe make the argument not typehinted array and default it to null, to distinguish if the user wants a request with no hosts specified or if he wants the default host.