callbacks truly optional on save