a lab for new rubyists, teaching inheritance and metaprogramming through refactoring exercises