I like the idea of re-entrant procedures to do various sub-processes at differing time intervals; something like: ====== proc dothis {delay} { # do something here after $delay dothis } ====== My concern is that ultimately I might run into stack problems or memory problems that will make the calling application become unstable. Am I right to be concerned or is it not a problem? If it is a problem then what would be a better way to handle this concept? Be gentle! Concepts such as threads and mutex etc. are a tad foreign to me :) Regs. ----- Your example does not use threads, nor does it experience unbounded stack or memory usage growth. See [every] for the more polished realization.