Cómo puedo replicar el comportamiento de class_inheritable_accessor en Rails 3.1?

Comenzando con Rails 3.1,class_inheritable_accessor produce advertencias de desaprobación y me dice que useclass_attribute en su lugar. Peroclass_attribute se comporta de manera diferente de una manera importante que demostraré.

Un uso típico declass_inheritable_attribute sería una clase de presentador, así:

module Presenter
  class Base
    class_inheritable_accessor :presented
    self.presented = {}

    def self.presents(*types)
      types_and_classes = types.extract_options!
      types.each {|t| types_and_classes[t] = t.to_s.tableize.classify.constantize }
      attr_accessor *types_and_classes.keys
      types_and_classes.keys.each do |t|
        presented[t] = types_and_classes[t]
      end
    end
  end
end

class PresenterTest < Presenter::Base
  presents :user, :person
end

Presenter::Base.presented => {}
PresenterTest.presented => {:user => User, :person => Person}

Pero usandoclass_attribute, las subclases contaminarán a sus padres:

Presenter::Base => {:user => User, :person => Person}

Que no es el comportamiento deseado en absoluto. ¿Existe otro tipo de descriptor de acceso que se comporte de la manera correcta o necesito cambiar a otro patrón por completo? ¿Cómo debo replicar el mismo comportamiento sinclass_inheritable_accessor?