I'm spending some time reading Rails Antipatterns again. On page 81, there is an example of denormalizing attributes into text fields on a model. I'll simplify the example; please assume state is a column in the article table:

```
class Article < ActiveRecord::Base
  STATES = %w(review published)
  validates :state, :inclusion => {:in => STATES}

  STATES.each do |state|
    define_method "#{state}?" do
      self.state == state
    end
  end

  class << self
    STATES.each do |state|
      define_method "#{state}" do
        state
      end
    end
  end
end

```

What I'm trying to wrap my head around is the methods defined in the class << self block. When you say class << self and define methods within that black, since self is the class Article, I'm defining class methods for Article, right? Article.review, Article.published. I just don't see what the purpose would be. If the purpose is to set some accessors, why wouldn't those be defined in the upper loop where the first "#{state}?" methods are defined.

Is there any way this is a typo? I looked for errata on the book and didn't find anything.