The document discusses how ActiveRecord was extracted in Rails 3 into ActiveModel and ActiveRelation. This reduced friction in building data layers and made it easier to focus on building better APIs. ActiveSupport was also trimmed down but still provides useful functionality like caching that can be cherry-picked. Methods are demonstrated for extracting caching logic into a concern module to keep domain object classes clean and readable. ActiveModel validations are also shown to work independently of ActiveRecord.