factory example for building different subclasses based on input param
famous example from wikipedia implemented by Gregory Brown in his blog rubybestpractices
rename factory design pattern to factory method pattern
template method pattern
sigleton pattern in 3 variants