Virtual Environments (VE) present a complex problem with interesting non-trivial challenges for system development, in particular when the VE is distributed and shared amongst multiple participants. Most problems are common to any VE system, however the development effort is replicated because current systems are neither evolutionary nor allow integration of code across different systems. This paper presents the Java Adaptive Dynamic Environment (JADE), which consists of a light-weight cross-platform kernel with inherent capabilities for dynamic extensibility in run-time. This kernel is the embodiment of a component framework for the underlying infrastructure of VE systems, addressing the problems of evolution and integration.