prefer method override over KVO for simple update propagations