This makes my brain hurt :(. Could we maybe instead factor stuff out by doing `function proxyToHost(method, hostId, callback) {};` ?