1. A virtual environment system for providing access to virtual entities for multiple users, the system comprising at least one server configured to: communicatively connect to at least one communication network, the communication network providing communication to user devices for interfacing with virtual entities in the virtual environment system; support a kernel environment that controls at least one of a physics engine, a gaming engine, a rendering engine, data input and output, a runtime, database access, and storage access; support a core data structure having modules, wherein each module corresponds to a virtual entity and includes behavior logic and representational data for the corresponding virtual entity; create a virtual entity by instantiating the core data structure, creating a foundation runtime for the core data structure configured to execute the behavior logic imparted by the module corresponding to an entity to the entity, and communicate with other core foundation runtimes; support event messaging between a first and a second virtual entity and between a virtual entity and the virtual environment by, responsive to detecting an event message, identifying an instantiated core data structure to which the event message is registered, forward the event message to the identified core; and process the event message in accordance with logic defined in the core data structure for handling the received event message; render representational data for the virtual entity for presentation to at least one user external to the virtual environment; and provide at least one interface for the one user to perceive the virtual entity.