anchor.diff:                          defer_after = {prepare_lane, after_step, {2, 1}}
                       },
                       run_task_for_item = #atm_step_mock_spec{
  -                        before_step_hook = fun atm_workflow_execution_test_utils:delete_offline_session/1
  +                        before_step_hook = InterruptHook,
  +                        % State is changed immediately only by external interrupt procedure
  +                        before_step_exp_state_diff = case InterruptType of
  +                            exception -> default;
  +                            external -> StoppingExecutionExpStateDiff
  +                        end,
  +                        after_step_exp_state_diff = no_diff
                       },
                       % This is called as part of `handle_workflow_abruptly_stopped`
                       handle_lane_execution_stopped = #atm_step_mock_spec{
  
positive.code:                 #atm_lane_run_execution_test_spec{
                      selector = {1, 1},
                      prepare_lane = #atm_step_mock_spec{
                          before_step_hook = fun atm_workflow_execution_test_utils:delete_offline_session/1,
                          after_step_exp_state_diff = no_diff
                      },
                      % This is called as part of `handle_workflow_abruptly_stopped`
                      handle_lane_execution_stopped = #atm_step_mock_spec{
                          after_step_exp_state_diff = [{lane_run, {1, 1}, interrupted}]
                      }
                  },
                  ?UNSCHEDULED_LANE_RUN_TEST_SPEC({2, 1}, {prepare_lane, before_step, {1, 1}})
              ],
              handle_exception = #atm_step_mock_spec{
                  after_step_exp_state_diff = [
                      {lane_run, {1, 1}, stopping},
                      workflow_stopping
                  ]
              },
              handle_workflow_abruptly_stopped = #atm_step_mock_spec{
                  after_step_exp_state_diff = [workflow_interrupted]
              },
  
negative.code:                 },
                  ?INTERRUPTED_LANE_RUN_PREPARED_IN_ADVANCE_TEST_SPEC({2, 1})
              ],
              % Callback called only in case of interrupt caused by exception
              handle_exception = #atm_step_mock_spec{after_step_exp_state_diff = case InterruptType of
                  exception -> StoppingExecutionExpStateDiff;
                  external -> default
              end},
              handle_workflow_abruptly_stopped = #atm_step_mock_spec{
                  after_step_exp_state_diff = [
                      {lane_run, {2, 1}, removed},
  