anchor.diff:  
       {next_state, connected, State, ?IDLE_TIMEOUT};
   
  -init_assoc({call, From}, Event, State)
  +init_assoc({call, _} = EventType, Event, State)
     when element(1, Event) == take_over ->
       lager:debug("in INIT_ASSOC got TAKE-OVER: ~p", [Event]),
  -    handle_take_over(Event, From, State);
  +    handle_take_over(EventType, Event, State);
   
   init_assoc({call, From}, Event, _State) when Event == detach; Event == delete ->
       {keep_state_and_data, [{reply, From, {error, not_attached}}, ?IDLE_TIMEOUT]};
  
positive.code:     State = wtp_add_station(State0),
      {next_state, connected, State, ?IDLE_TIMEOUT};
  
  init_start({call, From}, Event, State)
    when element(1, Event) == take_over ->
      lager:debug("in INIT_START got TAKE-OVER: ~p", [Event]),
      handle_take_over({call, From}, Event, State);
  
  init_start({call, From}, Event, _State) when Event == detach; Event == delete ->
      {keep_state_and_data, [{reply, From, {error, not_attached}}, ?IDLE_TIMEOUT]};
  
negative.code:     ACMonitor = erlang:monitor(process, AC),
  
      State = update_state_from_cfg(StationCfg, State0#state{ac = AC, ac_monitor = ACMonitor}),
      {next_state, initial_state(MacMode), State, [{reply, From, {ok, self()}}, ?IDLE_TIMEOUT]}.
  
  %% partially en/decode Authentication Frames
  decode_auth_frame(<<Algo:16/little-integer, SeqNo:16/little-integer,
  