Callbacks are simple trait that can be implemented to add custom logic to the
insert, update and delete operations. It’s a way to wrap business logic in models.
Usually, before_<action>
callbacks are used to validate the data and set default values, while
after_<action>
callbacks are used to perform additional async operations, like populating elasticsearch client,
sending messages to kafka, etc.
In case one doesn’t need extension it can be set to Option<()>
and then
it can be set to None
when calling the operation.