public void uimsg(int id, String msg, Object... args) {
		Widget wdg;
		synchronized (this) {
			wdg = widgets.get(id);
		}
		if (wdg != null) {
			wdg.uimsg(msg.intern(), args);
			JSBotUtils.OnWidgetUpdate(wdg, id, msg.intern(), args);
		}
		else
			throw (new UIException("Uimsg to non-existent widget " + id, msg,
					args));
	}