Suresh is right. In an ideal model, for the most part,
application state transitions should cross the wire.
The exception to this might be object geometries used
to "seed" an object geometry library. Imagine a 3D
NeWS with localized caching. Java can be made to fit
that model nicely. VRML as a geometry language is
still appropriate, but not the application model.