this should be used by create OR update events.   (Perhaps rename accordingly.)