1. A method for responding to natural language speech utterances, comprising: receiving a natural language speech utterance at a speech unit connected to a computer device, wherein the speech unit converts the received natural language speech utterance into an electronic signal; recognizing one or more words in the electronic signal with a speech recognition engine that operates on the computer device; identifying a request contained in the natural language speech utterance with a parser that further operates on the computer device, wherein the parser identifies the request contained in the natural language speech utterance from the one or more recognized words; selecting a domain agent that processes requests in a context for the identified request; processing the request contained in the natural language speech utterance in a multi-threaded environment with the selected domain agent, wherein processing the request with the selected domain agent includes: submitting a plurality of asynchronous queries created with the selected domain agent to a plurality of information sources, wherein the plurality of information sources include one or more local information sources and one or more network information sources; asynchronously evaluating a plurality of results returned from the plurality of information sources to the selected domain agent in response to the plurality of asynchronous queries; scoring the plurality of asynchronously evaluated results with the selected domain agent to determine one or more of the plurality of results that represents a best response to the request; and presenting the best response to the request on the computer device.