How do I do something like this :
i = 0 a = Thread.new { i.valueChange { | val | puts "i is now #{val} } } b = Thread.new { i = 2 # => "i is now 2" } a.join b.join
The idea is everytime the value of i changes, the block associated with i gets executed