anchor.diff:      NewRoster = exmpp_xml:set_children(Roster, Items),
       NewIQ = exmpp_xml:set_children(IQ, [NewRoster]),
       process_generic(NewIQ);
  -
   process_iq(Session, "get", ?NS_INBAND_REGISTER, IQ) ->
       Result = exmpp_iq:result(IQ, ej2j_helper:inband_register()),
       send_packet(Session, Result);
  -
   process_iq(Session, "set", ?NS_INBAND_REGISTER, IQ) ->
       SenderJID = exmpp_jid:parse(exmpp_stanza:get_sender(IQ)),
       try
  
positive.code: route_packet([], _Packet) ->
      ok.
  
  %% Various helpers
  
  -spec send_packet(pid(), #xmlel{}) -> ok.
  send_packet(Session, El) ->
      exmpp_component:send_packet(Session, El).
  
  -spec client_spawn(list(), list()) -> {tuple(), pid()} | false.
  client_spawn(JID, Password) ->
      try
          [User, Domain] = string:tokens(JID, "@"),
  
negative.code:     #received_packet{type_attr=Type, raw_packet = IQ} = Packet,
      NS = exmpp_xml:get_ns_as_atom(exmpp_iq:get_payload(IQ)),
      process_iq(Session, Type, NS, IQ);
  process_received_packet(Session, 
                          #received_packet{packet_type = 'presence'} = Packet) ->
      #received_packet{raw_packet = Presence} = Packet,
      process_presence(Session, Presence);
  process_received_packet(Session, 
                          #received_packet{packet_type = 'message'} = Packet) ->
      #received_packet{raw_packet = Message} = Packet,
  