Add support for optional non-virtual update functions