Improved extensibility

Made on pre persist and on pre update explicit in products