anchor.diff:      Wlan = get_wlan_by_bss(BSS, Data0),
       lager:warning("WLAN: ~p", [Wlan]),
       Data = internal_add_station(Wlan, MAC, StaCaps, CryptoData,
  -				response_fsm_reply(From), Data0),
  +				internal_add_station_response_fun(From), Data0),
       {keep_state, Data};
   
   handle_event({call, From}, {get_station_config, BSS}, run, Data) ->
  
positive.code:     case queue:peek(Queue) of
  	{value, {Seq, _, NotifyFun}} ->
  	    Data1 = ack_request(Data),
  	    Data2 = response_notify(NotifyFun, Code, {Msg, Elements, Header}, Data1),
  	    {keep_state, Data2, {next_event, cast, {Msg, Seq, Elements, Header}}};
  	_ ->
  	    %% invalid Seq, out-of-order packet, silently ignore,
  	    keep_state_and_data
  
negative.code: 		internal_add_wlan(RadioId, WlanId, AddResponseFun, Data1);
  
  	    #wlan{} ->
  		DelResponseFun =
  		    fun(0, _, DData) ->
  			    lager:debug("Del WLAN ok for ~p", [CommonName]),
  			    lager:debug("DelResponseFun: success"),
  			    internal_add_wlan(RadioId, WlanId, AddResponseFun, DData);
  
  		       (Code, Arg, DData) ->
  			    lager:debug("Del WLAN failed for ~p with ~w", [CommonName, Code]),
  			    lager:debug("DelResponseFun: ~w", [Code]),
  			    AddResponseFun(Code, Arg, DData)
  		    end,
  		internal_del_wlan(WlanIdent, DelResponseFun, Data1)
  	end,
      {keep_state, Data};
  
  handle_event({call, From}, {stop_radio, RadioId}, run, #data{id = CommonName} = Data) ->
      ResponseFun =
  	fun(0, _, RData) ->
  		lager:debug("Del WLAN ok for ~p", [CommonName]),
  		RData;
  
  	   (Code, _Arg, RData) ->
  		lager:debug("Del WLAN failed for ~p with ~w", [CommonName, Code]),
  		RData
  	end,
  
      Data1 =
  	lists:foldl(fun(WlanIdent = {RId, _}, S) when RId == RadioId->
  			    internal_del_wlan(WlanIdent, ResponseFun, S);
  		       (_, S) ->
  			    S
  		    end, Data, Data#data.wlans),
  