anchor.diff:  
   -behaviour(gen_statem).
   
  -%% REMOVE me
  --compile(export_all).
   
   -include_lib("gen_netlink/include/netlink.hrl").
   -define(SERVER, ?MODULE).
  
positive.code:         end,
          InstalledServices).
  
  reconcile_service({Service, {_VIP, Backends}}, State) ->
      lager:info("Reconciling service: ~p", [Service]),
      InstalledBackends = installed_backends(Service, State),
      BackendsToAdd = backends_to_add(InstalledBackends, Backends),
      lists:foreach(fun(BE) -> add_backend_to_service(BE, Service, State) end, BackendsToAdd),
      BackendsToDelete = backends_to_delete(InstalledBackends, Backends),
      lists:foreach(fun(BE) -> delete_backend(BE, Service, State) end, BackendsToDelete).
  
  backends_to_add(InstalledBackends, Backends0) ->
      NormalizedInstalledBackends0 = lists:map(fun backend_address/1, InstalledBackends),
  
negative.code:         {ok, Value} ->
              Value
      end.
  %reconcile_service({Service, {_VIP, Backends}}, State) ->
  transition_service(Service, VIPsOld, VIPsNew, State) ->
      Key = service_address(Service),
      case  {find_or_default(Key, VIPsOld, []), find_or_default(Key, VIPsNew, [])} of
          {Same, Same} ->
              ok;
          {_, NewBackends} ->
              reconcile_service(Service, NewBackends, State)
      end.
  
  delete_old_vips_and_interfaces(VIPsOld, VIPsNew, State) ->
      InstalledServices = installed_services(State),
  