anchor.diff:      case CbModule:deactivate(CbState) of
           {save, NewCbState} ->
               NewETag = replace_state(CbModule, Provider, Id, NewCbState, ETag),
  -            {stop, deactivated, State#state{cb_state=NewCbState,
  -                                            etag=NewETag}};
  +            {stop, {shutdown, deactivated}, State#state{cb_state=NewCbState,
  +                                                        etag=NewETag}};
           {ok, NewCbState} ->
  -            {stop, deactivated, State#state{cb_state=NewCbState}}
  +            {stop, {shutdown, deactivated}, State#state{cb_state=NewCbState}}
       end.
   
   handle_reply(Reply, State=#state{ref=GrainRef}) ->
  
positive.code:         end
      catch
          %% Retry only if the process deactivated
          exit:{normal, _} ->
              do_for_ref(GrainRef, Fun)
      end.
  
  
negative.code: code_change(_OldVsn, State, _Extra) ->
      {ok, State}.
  
  terminate({shutdown, deactivated}, _State) ->
      ok;
  terminate(?NO_PROVIDER_ERROR, #state{cb_module=CbModule,
                                       id=Id}) ->
  