Why you start with ActiveModel::AttributeMethods and goes to ActiveModel::Dirty? The second is included on the first? Make this clear.