millis() comes from a running timer routine, that tells you how to count?
The heart of BWD is timing without blocking.
loop() checks if ( now - start >= interval ) is true, it is when the interval is up
and if it isn't then next time through loop() it checks again.
Both loop() and the time check go together and may incorporate other checks and conditions.