1. A computer program product embodied on a tangible computer readable medium, comprising: computer code for, while in an online state, downloading data from a server; computer code for, while in an offline state, manipulating the data and rendering a presentation of the data on a local client interface; and computer code for, after returning to the online state from being in the offline state, communicating with the server during a synchronization process.