Won't this still pollute the class calling use_purgatory with these methods? Instead why not just do ActiveRecordDescendantAttributeAccessors.determine_attr_accessor_fields in the code further down?