Using the Observer Pattern in Ruby
medium.com