static private function shouldWriteChange(Model $model, $action)
    {
        if (in_array($action, ['created', 'deleted'])) return true;
        $changed_attributes = array_keys($model->getDirty());
        $ignored = ['updated_at', 'public'];
        $loggable = array_diff($changed_attributes, $ignored);
        return count($loggable) > 0;
    }