Create abstract_factory.rb