SetThingPulse(thing, flex_delay);
To stop the thing pulse, use:
SetThingPulse(same_thing, 0);
SetThingPulse() provides a way to have more than one pulse in a cog - this was, for a long time, deemed impossible. Of course, all of the pulses would have to use the same message and the associated things would have to be in the level. But those difficulties are easily overcome.