42. A non-transitory computer readable storage medium storing one or more programs configured for execution by a computer, the one or more programs comprising: a control application stored in the memory, the control application comprising instructions to: retain contextual information for a second application; receive a notification from the second application that the retained contextual information is outdated; receive an indication that a text manipulation event has occurred based on a keyboard input that modifies text in a user interface of the second application, wherein the keyboard input is generated based on input with a keyboard that includes keys with corresponding hit zones; send a query to the second application to obtain updated contextual information established by the second application prior to the event, wherein the updated contextual information is based on internal state information for the second application that is not directly accessible by the control application, and the updated contextual information provides context to the text manipulation event that occurred at the location in the user interface of the second application; receive the updated contextual information from the second application; and adjust a size of the hit zone of one or more keys on the keyboard based on the updated contextual information providing context to the text manipulation event; and wherein the one or more commands cause the second application to execute the one or more commands issued by the control application.
48. The non-transitory computer-readable storage medium of claim 42 , wherein the control application includes instructions to determine the one or more commands, based on the contextual information providing context to the text manipulation event, prior to issuing the one or more commands to the second application.