model is only marked as dirty on attribue assignment if attribute value
has changed