public void update(Observable o, Object arg) {
		if (o instanceof MouseAdapter) {
			currentSlot.setCurrent((String) arg);
	        if (!currentSlot.getCurrent().equals(currentSlot.getPrevious())) {
	            labelList.get(getIndex(currentSlot.getPrevious())).setBackground(Color.WHITE);
	        }
		} else if (o instanceof Sheet && arg == null) {
			for (SlotLabel sl : labelList) {
				sl.setText("");
			}
			for (Map.Entry<String, Slot> entry : sheet.getSlots()) {
				Object content = entry.getValue().getContent();
				SlotLabel slotLabel = labelList.get(getIndex(entry.getKey()));
				if (content instanceof String) {
					slotLabel.setText(((String) content).substring(1));
				} else if (content instanceof Expr) {
					Expr e = (Expr) content;
					slotLabel.setText(Double.toString(e.value(sheet)));
				}
			}
		}
    }