Examples of well known Design Patterns implemented in Ruby