anchor.diff:  handle_event(_Event = #{value := VIPs}, State) ->
       handle_value(VIPs, State).
   
  -handle_value(VIPs0, State0) ->
  +handle_value(VIPs0, State0 = #state{retry_timer = Timer}) ->
  +    timer:cancel(Timer),
       VIPs1 = process_vips(VIPs0, State0),
       State1 = State0#state{vips = VIPs1},
  -    push_state_to_spartan(State1),
  +    State2 = push_state_to_spartan(State1),
       minuteman_lb_mgr:push_vips(VIPs1),
  -    State1.
  +    State2.
   
   process_vips(VIPs0, State) ->
       VIPs1 = lists:map(fun rewrite_keys/1, VIPs0),
  
positive.code: retry_spartan(State) ->
      push_state_to_spartan(State).
  
  push_state_to_spartan(State) ->
      ZoneNames = ?ZONE_NAMES,
      Zones = lists:map(fun(ZoneName) -> zone(ZoneName, State) end, ZoneNames),
      push_zones(Zones).
  
  push_zones([]) ->
      ok;
  
negative.code:         ok ->
              push_zones(Zones);
          {error, Reason} ->
              lager:warning("Aborting pushing zones to Spartan: ~p", [Reason]),
              error
      end.
  