Observer Pattern in Ruby