Create a highly interactive VM that lets the user interact with the code and state of the VM in many interesting ways.
The VM should be a live and interactive runtime environment, offering the user the flexibility to play around and change things without having to recompile or even restart the VM.
Map the internal state of the VM onto the file system, making it possible to explore the state with just the use of basic unix file commands.