public static WidgetChild getCompass() {
		final Record record = get();
		update(record);
		if (record.index_widget == -1) {
			return null;
		}
		final Widget widget = Widgets.get(record.index_widget);
		if (widget != null) {
			if (record.index_compass == -1) {
				for (final WidgetChild widgetChild : widget.getChildren()) {
					final String[] actions = widgetChild.getActions();
					if (actions != null && actions.length == 1 && actions[0].equalsIgnoreCase("Face North")) {
						record.index_compass = widgetChild.getIndex();
						break;
					}
				}
			}
			if (record.index_compass != -1) {
				return Widgets.get(record.index_widget, record.index_compass);
			}
		}
		return null;
	}