Problem understanding non blocking delay via millis()