public class Printer {

private int pageRate; // pages per minute (ppm)
private Task currentTask; // current task on printer
private int timeRemaining; // time remaining on current task

public Printer(int ppm) {
pageRate = ppm;
currentTask = null;
timeRemaining = 0;
}

public void tick() {
if (currentTask != null) {
timeRemaining--;
if (timeRemaining == 0) {
currentTask = null;
}
}
}

public boolean busy() {
return currentTask != null;
}

public void startNext(Task newTask) {
currentTask = newTask;
timeRemaining = newTask.getPages() * 60 / pageRate;
}

}