anchor.diff:        wait_changes(State);
       {hackney_response, Ref, {status, 404, _}} ->
         lager:error("~s not_found ~n", [?MODULE_STRING]),
  +      cleanup(Ref, not_found),
         exit(not_found);
       {hackney_response, Ref, {status, Status, Reason}} ->
         lager:error(
           "~s request bad status ~p(~p)~n",
           [?MODULE_STRING, Status, Reason]
         ),
  +      cleanup(Ref, {http_error, Status, Reason}),
         exit({http_error, Status, Reason});
       {hackney_response, Ref, {error, Reason}} ->
         lager:error(
           "~s hackney error: ~p~n",
           [?MODULE_STRING, Reason]
         ),
  +      cleanup(Ref, Reason),
         exit(Reason())
     after ?TIMEOUT ->
  +    cleanup(Ref, timeout),
       exit(timeout)
     end.
   
  
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.
  
  