1. A computer comprising a processor and a memory, the computer further including computer-executable instructions stored in the memory of the computer which, when executed by the processor of the computer implement the functionality of: a client object adapted to receive input comprising a lengthening string of characters from a user, the client object sending multiple query messages corresponding to multiple versions of said input to a server system while a user modifies the input comprising a lengthening string of characters, the client object asynchronously receiving return messages with results in response to the multiple versions of the input; wherein upon receiving one of the return messages, the client object checks the usability of the results of the one of the return messages using a latest version of the input to determine whether to display at least some of the results of the one of the return messages to the user.