There are a variety of cases where OnUpdateItem(esmrecinfo_t *pRecInfo) is an empty function, simply returning 0. Not sure how necessary it is for all uses but I suspect that it can either be removed or moved to the base classes, being overridden as needed.