As a starting point I'll write up what I found about these functions before. I'm hoping someone will take a better look at them and will write a more complete answer. ---- Spelunking in version 8, Internal`AddPeriodical[Print["boo!"], 3] Now you get a `boo!` every 3 seconds. Internal`Periodicals[] (* ==> {Print["boo!"]} *) Now do Internal`RemovePeriodical[Print["boo!"]] to stop it. Internal`Periodicals[] (* ==> {} *) Note that `AddPeriodical` and `RemovePeriodical` have `HoldFirst`. ``Internal`$ThisPeriodical`` seems to be undefined during normal evaluations, while it is set to the currently executing periodical (wrapped in `HoldForm`) when a periodical is being executed. Most (all?) of the version 8 functionality seems to be implementable in terms of these, provided that they work the same way in version 7 as in 8 (which I cannot test).