anchor.diff:      {ok, HardRef} = timer:send_after(0, hard_timeout),
       {ok, SoftRef} = timer:send_after(timer:seconds(?DEFAULT_CONNECTION_TIMEOUT_INTERVAL),
                                        soft_timeout),
  -    {ok, #state{should_contact_tracker = false,
  -                control_pid = ControlPid,
  +    {ok, #state{control_pid = ControlPid,
                   torrent_id = TorrentId,
                   url = Url,
                   info_hash = InfoHash,
  
positive.code:     contact_tracker(none, S).
  
  contact_tracker(Event, S) ->
      NewUrl = build_tracker_url(S, Event),
      ?INFO([{contacting_tracker, NewUrl}]),
      case http_gzip:request(NewUrl) of
          {ok, {{_, 200, _}, _, Body}} ->
              handle_tracker_response(etorrent_bcoding:decode(Body), S);
          {error, etimedout} ->
  
negative.code:                stopped -> [{"event", "stopped"} | Request];
                 completed -> [{"event", "completed"} | Request]
             end,
      lists:concat([Url, "?", construct_headers(EReq, [])]).
  
  %%% Tracker response lookup functions
  response_interval(BC) ->
  