callbacks now handle exceptions for all non-product-page functions