       alarm.snoozeMinutes++;
     }
   }
+  menuStartMillis = millis();
   isModified = true;
   tone(SPEAKER_PIN, 2000, 10);
-  updateDisplay(&context);
+  update(&context);
 }
 
 // Joystick UP

bool isAlarmSound = false;
bool hasSnoozed = false;
unsigned long snoozeMillis = 0;

Analog::Buttons xButtons = Analog::Buttons(JOYSTICK_X_PIN, BUTTON_DEBOUNCE, BUTTON_MARGIN);
Analog::Buttons yButtons = Analog::Buttons(JOYSTICK_Y_PIN, BUTTON_DEBOUNCE, BUTTON_MARGIN);

  yButtons.add(downBtn);

  // Setup timer event intervals.
  // The tick event runs much more frequently, at about 50Hz, for low-latency when reading buttons.
  tickEvent = t.every(20, tick, (void*)0);
  // The main event runs about 3Hz to update the LEDs, piezo buzzer.
  mainEvent = t.every(333, update, (void*)0);
}

void loop() {
