version one of observers in ruby
version 2 of observers in ruby
version 3 of observers. use built in observable
version 3 of observers. updated Subject module to accept blocks as observers