public void paint(Graphics g) {
		frameTime = clock.getElapsedTime().asMicroseconds();
		clock.restart();

		//UPDATE
		objects.updateAll(frameTime);
		
		//FIXME Make a class for a GodButton. It's bad idea to handle logic in main loop
		if (lastElevationState != elevationTask.getState()) {
			lastElevationState = elevationTask.getState();
			String newText = "";

			switch (lastElevationState) {
				case ABORTED: newText = "ABORTED: VIEW LOG"; break;
				case COMPLETED: newText = "DONE. VIEW LOG"; break;
				case IN_PROGRESS: newText = "ABORT"; break;
				case NOT_STARTED: newText = "START"; break;
			}
			
			godButton.setText(newText);
		}
		
		//FIXME Maybe it will be better with in-class handling
		//FIXME Too difficult
		storeys.setUntransportedDistribution(elevationTask.getUntransportedDistribution());
		storeys.setTransportedDistribution(elevationTask.getTransportedDistribution());
		storeys.moveToStorey(elevationTask.getElevator().getStorey());
		
		elevator.setText("" + elevationTask.getElevator().getPassengers());
		
		if (!elevationTask.isInteractive()) {
			if (elevatorClock.getElapsedTime().asMilliseconds() > delay) {
				elevatorClock.restart();
				notifyElevator();
			}
		}
		//DRAW
		super.paint(g);
		objects.drawAll(g);
		
	}