public TrafficSignalGreenState(TrafficStateMachine context) {
   context.setColor(Color.GREEN);
 }
 @Override
 public void notifyTime(int passedTime, TrafficStateMachine context) {
   if (passedTime == TIMEOUT) {
     context.setState(new TrafficSignalOrangeState(context));
   }
 }
 @Override
 public void buttonPressed(TrafficStateMachine context) {
   if ((TIMEOUT - context.getTime()) > 2) {
     context.setTime(TIMEOUT - 2);
   }
 }
 public TrafficSignalRedState(TrafficStateMachine context) {
   context.setColor(Color.RED);
 }