anchor.diff:              {Partial, Iteration, _Updates} = spread_autotree:parse_updates_and_broadcast(
                   <<(State#state.partial)/binary, Data/binary>>,
                   fun(Event) ->
  -                    lager:info("CALLBACK!"),
                       gen_server:cast(Self, {load_binary_event, Event})
                   end),
               %% Loop with partial
  
positive.code:     NewStreams = lists:keydelete(StreamRef, 2, Streams),
  
      SubStreams = State#state.subs_streams,
      NewSubStreams = lists:keydelete(StreamRef, 2, SubStreams),
  
      State#state{streams = NewStreams, subs_streams = NewSubStreams}.
  
  -spec manage_data(binary(), any(), boolean(), state()) -> state().
  manage_data(Data, StreamRef, IsFin, State) ->
  
negative.code:     {noreply, State#state{state = down}};
  handle_info({gun_response, _ConnPid, StreamRef, fin, _Status, Headers}, State) ->
      lager:info("[~p] No data for ~p, headers are ~p", [State#state.target, StreamRef, Headers]),
      {_, NewState} = remove_stream(StreamRef, State),
      {noreply, NewState};
  handle_info({gun_response, _ConnPid, StreamRef, nofin, _Status, Headers}, State) ->
      lager:info("[~p] Got headers for ~p: ~p", [State#state.target, StreamRef, Headers]),
      %NewState = manage_data(Headers, StreamRef, false, State),    
  