Added preupdate() and postupdate() user hooks.