class << self
    attr_accessor :collection, :attribute, :result_key

    def [](result_key, from:, attr:)
      Class.new(self).tap do |cls|