1. A method comprising: by a first thread of execution on a computing device, receiving a user-interface input, the first thread of execution being associated with a user interface of the computing device; by the first thread of execution on the computing device, identifying a second thread of execution on the computing device to process the user-interface input, the second thread of execution being associated with the user interface and being de-coupled from the first thread of execution; by the first thread of execution on the computing device, sending the user-interface input to the second thread of execution; and by the second thread of execution on the computing device, processing the user-interface input to generate a user-interface output associated with the user-interface input.