callbacks for model edits