public GatewayRef WithTimeout(TimeSpan? timeout) { return new GatewayRef(Target, RequestWaiter, timeout); }