Multiple Interrupts - Fuel Consumption

BTW, ignore the first reply.
In the real world - two or more events can occur ‘simultaneously’ - well within the sub-millisecond domain.
.
The trick as already mentioned by Robin2 - is to return from the ISR before another event occurs on the same interrupt you are responding to... no problem in this case.

Once you have incremented the count or ‘event’ captured, you have plenty of time to handle those states at your own time within loop().

Just remember avoid blocking code, and be aware of any function ’latency’ - like updating the LCD (a couple of mS). Usually these won’t be a problem because the interrupts are still firing and counting, but the loop() response may take a moment longer if it’s doing something else when the ISR returns.

Once you have this all working in principle, you could implement a millis() timer to check the buttons, and refresh the display - perhaps every 10mS so it appears consistent (still a lot faster than your eye will spot it!)

Sounds like a fun project.