Add support for ActiveModel dirty on tag_names change.
Pulling change tracking into a separate class.