Basically - you do not need "currentMillis" variable - use millis() function it its place.
Safer and "self documenting" that way.
...and wrong.
So, @232,using your "solution", you'd be happy to allow to allow timing to slip in the following (or similar cases) case using the blink-without-delay/cooperative multitasking example:
if (millis() - lastEvent >= processInterval)
{
doSomethingThatCouldTakeFiveMilliseconds (forExample, couldTakeTwoMilliseconds);
lastEvent = millis (); // that is not going to end well.
}
Would that be a fair assessment of your argument?
Sometimes, when you apply the KISS principle, you do too much of the KIS, but you end-up with just that last S.
(Hint: The correct answer is
lastEvent += processInterval;
)