Reset restarts before we go round again, otherwise if MaxT is large we will keep looping until it clears.
It's probably a good idea to reset "restarts" after we get the message, not when we send it; we don't want to jump back into restarting things as normal just because we have scheduled a restart.
Unconditionally do a restart after the delay if intensity = 0; this allows us to opt into always having the delay by setting 0, 1.
Update essay to explain the new behaviour. And hopefully to cover the interaction of Delay and MaxT a bit more clearly.
Junk 8cbf7e17e96a for preferred approach of fd4b7b03579f.