anchor.diff:  		end,
       gen_fsm:send_event(self(), purge),
       {next_state, purging, NewState};
  -purging(cancel, #state{org_names_fun = Orgs, counter = _Counter}) ->
  +purging(cancel, #state{org_names_fun = Orgs}) ->
       lager:info("purging cancelled, remaining orgs ~p", [Orgs]),
  +    {next_state, ready, #state{}};
  +purging({restore, Org}, #state{org_names_fun = Orgs }) ->
  +    restore_and_log(Org, Orgs),
       {next_state, ready, #state{}};
   purging(pause, State) ->
       lager:info("purging paused", []),
  
positive.code:     lager:info("purging continued", []),
      gen_fsm:send_event(self(), purge),
      {next_state, purging, State};
  paused(_Event, State) ->
      {next_state, paused, State}.
  
  handle_event(_Event, StateName, State) ->
      {next_state, StateName, State}.
  
negative.code: ready({start_purge, Org}, State) ->
      gen_fsm:send_event(self(), {purge_one, Org}),
      {next_state, purge_one, State};
  ready({restore, Org}, State) ->
      gen_fsm:send_event(self(), {restore, Org}),
      {next_state, restore_one, State};
  ready(cancel, _State) ->
      {next_state, ready, #state{}};
  ready(pause, State) ->
      {next_state, ready, State};
  ready(continue, State) ->
      {next_state, ready, State}.
  
  purge_one({purge_one, Org}, State) ->
  