public void run() {
		boolean wasInterrupted = false;
		try {
			wash();
		}
		catch (InterruptedException e) {
			wasInterrupted = true;
		}
		catch(RTInterrupted e) {   // Thrown by semaphores
			wasInterrupted = true;
		}

		if (wasInterrupted) {
			System.out.println("Washing program aborted.");
			myTempController.putEvent(
					new TemperatureEvent(this, TemperatureEvent.TEMP_IDLE, 0.0));
			myWaterController.putEvent(
					new WaterEvent(this, WaterEvent.WATER_IDLE, 0.0));
			mySpinController.putEvent(
					new SpinEvent(this, SpinEvent.SPIN_OFF));
		}
	}