Before you continue, go now and read...
  http://www.quantum-leaps.com/
Yip, I know it is a bit hype heavy and C++'ish, but his "Optimal FSM"
implementation of statecharts has some excellent ideas.

I think send(:symbol) is probably about equivalent to the C++ pointer to
method.

ie. I bet you could implement all his QP ideas in Ruby with a 1/20th the
effort. Nonetheless some of his basic concepts are very good.

Go there NOW.

-- 
John Carter                             Phone : (64)(3) 358 6639
Tait Electronics                        Fax   : (64)(3) 359 4632
PO Box 1645 Christchurch                Email : john.carter / tait.co.nz
New Zealand

This email is not designed or intended for use in on-line control of
aircraft, air traffic, aircraft navigation or aircraft communications;
or in the design, construction, operation or maintenance of any nuclear
facility.