anchor.diff:  %% other message than a synchronous or asynchronous event
   %% (or a system message).
   %%--------------------------------------------------------------------
  +%handle_info({'DOWN',_Ref,process,Pid,Reason}, _StateName, S = #state{con=Pid}) when is_pid(Pid) ->
  +%    ?INFO("Should really shutdown properly here.", []),
  +%    {stop, Reason, S#state{con=undefined}};
   handle_info(_Info, StateName, State) ->
       {next_state, StateName, State}.
   
  
positive.code: 	 login_pass/2,
  	 login_nick/2,
  	 login_user/2,
  	 login/2]).
  
  %% gen_fsm callbacks
  -export([init/1, handle_event/3,
  
negative.code: 
  numreply(Where, Numeric, Message) when is_atom(Numeric) ->
      csend(Where, #irc_cmd{name=Numeric, args=[{message, Message}]}).
  
  serversend(#state{con=C,user=U,irc_server=S}, #irc_cmd{} = Cmd) ->
      csend(C, Cmd#irc_cmd{source=S,target=U}).
  
  csend(#state{con=C}, Term) ->
      csend(C, Term);
  