just curious: what would you think about renaming this file to "abstract.rb" (some other time)