Optionnal cause of update is optionnal
code factorization