Include ActiveModel::Dirty on Base, call field_will_change! on delegated methods, and track changes on save