function Sandbox() {
            this.sandboxEl = null;
            events.EventEmitter.call(this, false);
            this.execCommand = async.queueUntilEvent(this, "sandboxready", this.$execCommand.bind(this));
            this.reset();
        }
This module manages the Zed sandbox, the sandbox is used to run user
provided code, either fetched from the Zed code base itself, or fetched
from remote URLs.

Sandboxed code cannot crash Zed itself, but can call some Zed-specific APIs.
These APIs live in the "zed/*" require.js namespace in the sandbox, and are
essentially proxies proxying the request to Zed itself via postMessage
communication. The APIs interfaces are defined in sandbox/interface/zed/*
and the Zed side is implemented in sandbox/impl/zed/*.