anchor.diff:       {history, {call, ?GCD_MODULE, resume, []}},
        {history, {call, ?GCD_MODULE, set_interval, [infinity]}},
        {idle, {call, ?GCD_MODULE, cancel_batch, []}},
  -     {paused, {call, ?GCD_MODULE, pause, []}},
  +     {{paused, waiting_file_delete}, {call, ?GCD_MODULE, pause, []}},
        {initiating_file_delete, {call, ?GCD_MODULE, change_state, [initiating_file_delete]}}
       ].
   
  -paused(#mc_state{previous_state=PauseState}) ->
  +paused(PrevState, _S) ->
       [
        {history, {call, ?GCD_MODULE, manual_batch, [[testing]]}},
        {history, {call, ?GCD_MODULE, pause, []}},
        {history, {call, ?GCD_MODULE, set_interval, [infinity]}},
  -     {history, {call, ?GCD_MODULE, cancel_batch, []}},
  -     {PauseState, {call, ?GCD_MODULE, resume, []}}
  +     {{paused, idle}, {call, ?GCD_MODULE, cancel_batch, []}},
  +     {PrevState, {call, ?GCD_MODULE, resume, []}}
       ].
   
   initial_state() ->
       idle.
   
   initial_state_data() ->
  -    #mc_state{}.
  -
  -next_state_data(paused, paused, S, _R, {call, ?GCD_MODULE, cancel_batch, []}) ->
  +    #mc_state{previous_state = idle}.
  +
  +next_state_data({paused, _}, {paused, _}, S, _R, {call, ?GCD_MODULE, cancel_batch, []}) ->
       S#mc_state{previous_state=idle};
  -next_state_data(_From, _From, S, _R, _C) ->
  +next_state_data(From, To, S, _R, _C) when From == To ->
       S;
   next_state_data(From, To, S, _R, _C) ->
       S#mc_state{current_state=To,
  
positive.code:      {history, {call, ?GCD_MODULE, resume, []}},
       {history, {call, ?GCD_MODULE, set_interval, [infinity]}},
       {idle, {call, ?GCD_MODULE, cancel_batch, []}},
       {paused, {call, ?GCD_MODULE, pause, []}},
       {waiting_file_delete, {call, ?GCD_MODULE, change_state, [waiting_file_delete]}}
      ].
  
  
negative.code: 
  prop_set_interval() ->
      ?FORALL(Interval, int(),
              catch begin
                  catch riak_cs_gc_d:stop(),
                  {ok, _} = riak_cs_gc_d:test_link(?DEFAULT_GC_INTERVAL),
                  {_, State1} = riak_cs_gc_d:current_state(),
                  riak_cs_gc_d:set_interval(Interval),
                  {_, State2} = riak_cs_gc_d:current_state(),
  