get rid of content_will_change, decide all in content_changed?