docs: function (name, intro, outro) {
  		// ---FYI---
  		// this._current is the name (ID) of the scene in progress.
  		// this._scenes is an object like the following:
  		// {'Opening scene': {'initialize': fnA, 'uninitialize': fnB},
  		//  'Another scene': {'initialize': fnC, 'uninitialize': fnD}}
  		
  		// If there's one argument, play the scene
  		if (arguments.length === 1) {
  			Crafty.viewport.reset();
  			Crafty("2D").each(function () {
  				if (!this.has("Persist")) this.destroy();
  			});
  			// uninitialize previous scene
  			if (this._current !== null && 'uninitialize' in this._scenes[this._current]) {
  				this._scenes[this._current].uninitialize.call(this);
  			}
  			// initialize next scene
  			this._scenes[name].initialize.call(this);
  			var oldScene = this._current;
  			this._current = name;
  			Crafty.trigger("SceneChange", { oldScene: oldScene, newScene: name });
  			return;
  		}
  		
  		// If there is more than one argument, add the scene information to _scenes
  		this._scenes[name] = {};
  		this._scenes[name].initialize = intro;
  		if (typeof outro !== 'undefined') {
  			this._scenes[name].uninitialize = outro;
  		}
  		return;
  	}