anchor.diff:  %% initialize.
   %%--------------------------------------------------------------------
   init([{ControlPid, StatePid, Url, InfoHash, PeerId}]) ->
  -    {ok, ready_to_contact, #state{should_contact_tracker = false,
  -				  control_pid = ControlPid,
  -				  state_pid = StatePid,
  -				  url = Url,
  -				  info_hash = InfoHash,
  -				  peer_id = PeerId}}.
  +    {ok, tracker_wait, #state{should_contact_tracker = false,
  +			      control_pid = ControlPid,
  +			      state_pid = StatePid,
  +			      url = Url,
  +			      info_hash = InfoHash,
  +			      peer_id = PeerId}}.
   
   %%--------------------------------------------------------------------
   %% Function:
  
positive.code: 
  contact_tracker_now(Pid) ->
      gen_fsm:send_event(Pid, contact_tracker_now).
  
  %%====================================================================
  %% gen_fsm callbacks
  
negative.code: %% the current state name StateName is called to handle the event. It is also
  %% called if a timeout occurs.
  %%--------------------------------------------------------------------
  tracker_wait(start_now, S) ->
      {next_state, waiting_to_contact, handle_nonregular(S, "started")};
  tracker_wait(stop_now, S) ->
      {next_state, waiting_to_contact, handle_nonregular(S, "stopped")};
  tracker_wait(torrent_completed, S) ->
      {next_state, waiting_to_contact, handle_nonregular(S, "completed")};
  tracker_wait(may_contact, S) ->
      {next_state, waiting_to_contact, handle_tracker_contact(S, none)}.
  
  %%--------------------------------------------------------------------
  %% Function:
  