1. A method of thread-agile script execution, the method comprising: receiving, in a message queue by a web browser, a message for an instance of a script; determining, by the web browser, whether the web browser has a stored state object for the instance of the script identified by the message, wherein the stored state object contains a state of the instance of the script when last executed; if the web browser has the stored state object for the instance of the script, retrieving, by the web browser, the stored state object; preparing, by the web browser, a thread available from a thread pool for execution of the instance of the script in dependence upon the stored state object and an execution context for the instance of the script including requesting the thread from the thread pool maintained by an operating system; providing, by the web browser to a script execution engine for executing the instance of the script, the stored state object and the prepared thread; and transmitting, by the web browser to the script execution engine, the message.