@Override
	public void update(Graphics g) {
		
		Graphics2D g2 = (Graphics2D) g;
		g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
		g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
		
		g2.setColor(Color.gray);
		g2.fillRect(0,0,getWidth(),getHeight());
		drawCommandCircle(g2, new PointF(.5f, .5f), 2.5d, Color.white);
		
		// Show current Calibration Circle
		if ((systemCalibrationIndex != null) && (systemCalibrationMap != null)) {
			g2.setColor(Color.black);
			g2.fillRect(0,0,getWidth(),getHeight());
			
			CalibrationValue cv = systemCalibrationMap.get(systemCalibrationIndex);
			if (cv != null) {
				drawCommandCircle(g2, systemCalibrationMap.get(systemCalibrationIndex).display, 1d, Color.magenta);
			}
		}
		else if ((toolkitCalibrationIndex != null) && (tangibles != null)) {
			Tangible tangible = tangibles.get(toolkitCalibrationIndex);
			if (tangible != null) {
				if (lastDelay == TOOLKIT_CALIBRATION_DELAY_SETUP) {
					drawCommandCircle(g2, new PointF(.5f, .5f), 2.5d, Color.cyan);
					drawTangibleAtCenter(g2, tangible);
					drawCalibrateInstructions(g2, tangible, .15f);
				} else if (lastDelay == TOOLKIT_CALIBRATION_DELAY_READ) {
					drawCommandCircle(g2, new PointF(.5f, .5f), 2.5d, Color.cyan);
					drawCalibrateInstructions(g2, tangible, .15f);
				} else if (lastDelay == TOOLKIT_CALIBRATION_DELAY_NOTIFY) {
					drawCommandCircle(g2, new PointF(.5f, .5f), 2.5d, Color.yellow);
					drawCalibrateSuccess(g2, tangible, .15f);
				}
			}
		}	
	}