@Override
	public void keyPressed(KeyEvent arg0) {
		if (!PiInputField.hasStarted) {
			long startingTime = System.currentTimeMillis();
			PiInputField.startTime = new Date(startingTime).toString();
			AccuracyChecker.startAttempt(startingTime);
			Main.debugPrintln("Start time has been set to: "
					+ PiInputField.startTime);
		}
		PiInputField.hasStarted = true;
		if (arg0.getKeyCode() == Config.RESTART_KEYCODE) {
			if (!PiInputField.hasFailed && PiInputField.hasStarted) {
				AccuracyChecker.endAttempt(System.currentTimeMillis(),
						UserAttempt.EndReason.MANUAL_RESTART);
			}
			AccuracyChecker.reload();
			Main.debugPrintln("Accuracy Checker is Reloading");
			return;
		}
		Toolkit.getDefaultToolkit().sync();
		boolean isRight = AccuracyChecker.checkNextDigit(this.getText());
		if (!isRight) {
			this.failSequence();
		}

	}