A client computing device that is in network communication with a server computing device, the client computing device comprising: a processor; and a memory that comprises an application that is executed by the processor, the application comprises: an interaction detector component that is configured to construct a command based upon a detected interaction with respect to a visualization presented on a display of the client computing device, the visualization having a first visualization state that describes the visualization, the command indicating that the visualization is to be updated to have a second visualization state; a pre-fetch cache that comprises a tree of transformations received by the client computing device from the server computing device, wherein each transformation in the tree of transformations is labeled with a respective visualization state that results from execution of a transformation; a cache analyzer component that is configured to determine whether a transformation that is configured to update the visualization to the second visualization state is included as a node in the tree of transformations of the pre-fetch cache based upon the command and the first visualization state; and a visualization updater component that, responsive to the cache analyzer component determining that the transformation is included in the pre-fetch cache, is configured to update the visualization based upon the transformation such that the visualization has the second visualization state by identifying a sequence of transformations in the tree that are to be applied to the visualization to satisfy the request, where the transformation is hierarchically the last one in the sequence of transformations and where the visualization is updated by applying in sequence all the zero or more transformations of the identified sequence that are hierarchically above the determined transformation in the tree until the determined transformation is applied. a processor; and a memory that comprises an application that is executed by the processor, the application comprises: an interaction detector component that is configured to construct a command based upon a detected interaction with respect to a visualization presented on a display of the client computing device, the visualization having a first visualization state that describes the visualization, the command indicating that the visualization is to be updated to have a second visualization state; a pre-fetch cache that comprises a tree of transformations received by the client computing device from the server computing device, wherein each transformation in the tree of transformations is labeled with a respective visualization state that results from execution of a transformation; a cache analyzer component that is configured to determine whether a transformation that is configured to update the visualization to the second visualization state is included as a node in the tree of transformations of the pre-fetch cache based upon the command and the first visualization state; and a visualization updater component that, responsive to the cache analyzer component determining that the transformation is included in the pre-fetch cache, is configured to update the visualization based upon the transformation such that the visualization has the second visualization state by identifying a sequence of transformations in the tree that are to be applied to the visualization to satisfy the request, where the transformation is hierarchically the last one in the sequence of transformations and where the visualization is updated by applying in sequence all the zero or more transformations of the identified sequence that are hierarchically above the determined transformation in the tree until the determined transformation is applied. an interaction detector component that is configured to construct a command based upon a detected interaction with respect to a visualization presented on a display of the client computing device, the visualization having a first visualization state that describes the visualization, the command indicating that the visualization is to be updated to have a second visualization state; a pre-fetch cache that comprises a tree of transformations received by the client computing device from the server computing device, wherein each transformation in the tree of transformations is labeled with a respective visualization state that results from execution of a transformation; a cache analyzer component that is configured to determine whether a transformation that is configured to update the visualization to the second visualization state is included as a node in the tree of transformations of the pre-fetch cache based upon the command and the first visualization state; and a visualization updater component that, responsive to the cache analyzer component determining that the transformation is included in the pre-fetch cache, is configured to update the visualization based upon the transformation such that the visualization has the second visualization state by identifying a sequence of transformations in the tree that are to be applied to the visualization to satisfy the request, where the transformation is hierarchically the last one in the sequence of transformations and where the visualization is updated by applying in sequence all the zero or more transformations of the identified sequence that are hierarchically above the determined transformation in the tree until the determined transformation is applied.