We now use an Asynchronous Gateway so that the caller can specify how long to wait for an answer.