1. A computer-implemented process for providing an application-independent framework for facilitating persistent, collaborative interaction between users of a web application respectively running on a client computer associated with each user, the process comprising using a server to perform the following process actions: replicating a current state of the application on each client at the time the client joins a session of the application; persisting changes to the application states received from the individual clients; and maintaining the consistency of the state of the application across the clients; wherein said replicating, persisting and consistence maintenance are accomplished independent of the application.