Chuck Brotman wrote: > A more specific question: Does anyone have any clever ideas (or design > patterns, etc.) for keeping a simulation-time clock and dispatching the > appropriate metods/objects on each tick? I am not sure that I have a "clever" idea, but I can point to similar threads in the past. See ruby-talk #43139 and #41919: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/43139 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/41919 I can also share with you a little insight I got while playing with GUI frameworks in Ruby. Most (I dare say all) GUI frameworks will have a Timer class which is easy to use and will accomplish what you want. I have used the one in wxRuby (http://rubyforge.org/projects/wxruby/) and it works perfectly. Like so: #... instantiate @timer = Wx::Timer.new(self, :timer.id) evt_timer(:timer.id) {on_timer} #... def on_timer # # take action # end #... use @timer.start(@delay) @timer.stop #... Does this sound like what you want? I will gladly share the real code (which is more complex) if you are interested. Thanks, -- Shashank