Water fountain with button

OK the infamous famous "again?"

I explicitly recommend to

NOT

use this badly coded hard to understand The learning child severely neglecting mother of all Arduino-Timers
that cause

every week new

1 to 5 new postings "I don't understand millis()-questions"

a first part to explain how non-blocking coding works is posted here.
I'm not satisfied with it yet because there must be more explained how to let do loop() all looping by easy to understand everyday analogons explaining pictures and multiple demo-codes that show how it works on small examples.

best regards Stefan