Arduino Counting without Millis

const int buttonPin = 2;  
int buttonState = 0;         
int lastButtonState = 0;    
int buttonCounter = 0;      

void setup() {
  pinMode(buttonPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  buttonState = digitalRead(buttonPin);

  if (buttonState != lastButtonState) {
    if (buttonState == HIGH) {
      buttonCounter++;
      Serial.print("Button Pressed. Count: ");
      Serial.println(buttonCounter);
    }
    delay(50); 
  }

  lastButtonState = buttonState;
}