I don't call the Weave() function over and over and over like Sunny King's. I call it once and then have a for loop inside the function, to eliminate the overhead of continuous function calls
A little refactoring shouldn't stop a counter from being used instead of a timer.
I haven't thought about doing it this way tbh.