anchor.diff:        Pid ! {changes, Tag, Events},
         wait_changes(NewState);
       {hackney_response, Ref, {headers, _Headers}} ->
  -     
         wait_changes(State);
       {hackney_response, Ref, done} ->
  +      cleanup(State, "remote stopped"),
         exit(normal);
       {hackney_response, Ref, Data} when is_binary(Data) ->
         decode_data(Data, State);
  
positive.code: 
  system_code_change(Misc, _, _, _) ->
    {ok, Misc}.
  
  
  get_changes(State = #{ changes := Q }) ->
  
negative.code:         {wait_changes, State})
    after ?TIMEOUT ->
      lager:error("~s timeout: ~n", [?MODULE_STRING]),
      cleanup(State, timeout),
      exit(timeout)
    end.
  
  