Dirty interface, closes #5

Use the ActiveModel::Dirty interface.