anchor.diff:  %% @@see //stdlib/gen_fsm:StateName/2
   %% @private
   %%
  +wait_for_confirm(timeout, #statedata{identifier = Identifier} = StateData)->
  +	{stop, {shutdown, Identifier}, StateData};
   wait_for_confirm(_Event, StateData)->
  -	{next_state, idle, StateData}.
  +	{next_state, idle, StateData, ?TIMEOUT}.
   
   -spec handle_event(Event :: term(), StateName :: atom(),
   		StateData :: #statedata{}) ->
  
positive.code: %% @@see //stdlib/gen_fsm:StateName/2
  %% @private
  %% @todo send EAP-pwd-ID request to peer
  idle({request, _Address, _Port, #eap_packet{data = Data} = Packet}, StateData) when is_binary(Packet) ->
  	{next_state, wait_for_id, StateData}.
  
  -spec wait_for_id(Event :: timeout | term(), StateData :: #statedata{}) ->
  	Result :: {next_state, NextStateName :: atom(), NewStateData :: #statedata{}}
  
negative.code: %%
  %% @todo Bi directional codec functions has to be implmented
  %%
  wait_for_id(timeout, #statedata{identifier = Identifier} = StateData)->
  	{stop, {shutdown, Identifier}, StateData};
  wait_for_id(_Event, #statedata{identifier = Identifier, radius_fsm = RadiusFsm} = StateData)->
  	{ok, Token} = crypto:rand_bytes(4),
  	{ok, HostName} = inet:gethostname(),
  