Ride along of Fowler's refactoring, but done in Ruby.