anchor.diff:  
   -define(SERVER, ?MODULE). 
   
  --record(state, {socket}).
  +-record(state, {socket, methods = []}).
   
   %%%===================================================================
   %%% API
  
positive.code: %%--------------------------------------------------------------------
  handle_info({udp, Socket, _IP, _Port, Packet}, State) ->
      inet:setopts(Socket, [{active, once}]),
      try osc_lib:decode(Packet) of
  	OSC ->
  	    error_logger:info_report({?MODULE,OSC})
      catch
  	Class:Term ->
  	    error_logger:error_report({?MODULE,Class,Term})
      end,
      {noreply, State};
  handle_info(_Info, State) ->
  
negative.code: %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  handle_message(Address, Args, When, Methods) ->
      case lists:keysearch(Address, 1, Methods) of
  	{value, {Address, Module, Function}} ->
  	    Time = when_to_msec(When),
  	    timer:apply_after(Time, Module, Function, Args);
  	false ->
  	    error_logger:info_report({?MODULE,unhandled,{message,Address,Args}})
      end.
  
  when_to_msec(immediately) ->
      0;
  when_to_msec({Seconds, Fractions}) ->
      {MegaSecs, Secs, MicroSecs} = now(),
      S = (Seconds - 2208988800) - (MegaSecs * 1000000 + Secs),
      F = Fractions - (MicroSecs * 1000000),
      case (S * 1000) + (1000 / F) of
  	Time when Time > 0 ->
  	    Time;
  	_ ->
  	    0
      end.
  
  handle_bundle(When, [{message, Address, Args} | Rest], Methods) ->
      handle_message(Address, Args, When, Methods),
      handle_bundle(When, Rest, Methods);
  handle_bundle(When, [{bundle, InnerWhen, Elements} | Rest], Methods) ->
      handle_bundle(InnerWhen, Elements, Methods),
      handle_bundle(When, Rest, Methods).
  