docs: function(b) {
  			var map = b.global ? this._globals : this._locals[gui.$contextid];
  			if (gui.hasModule('gui-spirits@wunderbyte.com')) {
  				if(!gui.spiritualized) {
  					if(b.type !== gui.BROADCAST_WILL_SPIRITUALIZE) {
  						// TODO: cache broadcast until spiritualized?
  					}
  				}
  			}
  			if (this.$target) {
  				if (!b.global) {
  					b.target = this.$target;
  				}
  				this.$target = null;
  			}
  			if (b instanceof gui.Broadcast === false) {
  				b = new gui.Broadcast(b);
  			}
  			if (map) {
  				var handlers = map[b.type];
  				if (handlers) {
  					handlers.slice().forEach(function(handler) {
  						handler.onbroadcast(b);
  					});
  				}
  			}
  			if (b.global) {
  				this._propagate(b);
  			}
  			return b;
  		}