1. A computer system comprising: at least one processor; and a memory comprising instructions stored thereon that when executed by the at least one processor cause the at least one processor to perform acts comprising: running synchronous application logic on at least one background thread, the application logic accessing an object on the at least one background thread; and while running the synchronous application logic on the at least one background thread, maintaining a user interface in a responsive state on at least one user interface thread, the user interface accessing the object on the at least one user interface thread, the responsive state of the user interface while running the synchronous application logic on the at least one background thread comprises the user interface being operable to initiate a modification of the object in response to user input requesting the modification of the object.