set_default -> set_default_if_not_initialized.
reset_state .
force error and catch error in before hooks.