1. An apparatus comprising: a processor; a memory; a script distribution application, executable by the processor, and configured to distribute a script defining a flow of a user interface to a user application operating on a client device, the script written in a computer scripting language and interpreted at runtime by a special runtime environment in the user application, the flow defining a sequence of user interface screens and user interface elements displayed on each of the user interface screens; a tracking application, executable by the processor, and configured to track interactions between one or more client devices and one or more server devices, the interactions including interactions generated in response to user input to the one or more client devices, and to store information about the interactions in the memory; a scripting modification application configured to modify the script based on the information about the interactions, the modification changing the flow; and the script distribution application being further configured to distribute the modified script to the user application, thus causing a modification in the flow of the user interface of the user application.