private Nwc.XmlRpc.XmlRpcResponse LoginResponseReceived(Nwc.XmlRpc.XmlRpcResponse response)
 {
     Hashtable responseData = (System.Collections.Hashtable)response.Value;
     sessionID = UUID.Parse(responseData["session_id"].ToString());
     slaveAvatar = UUID.Parse(responseData["avatar_id"].ToString());
     avatars.Add(slaveAvatar, new Avatar(responseData["first_name"].ToString(), responseData["last_name"].ToString(), uint.MaxValue, slaveAvatar));
     return response;
 }
 public void SetLoginResponse(Nwc.XmlRpc.XmlRpcResponse response)
 {
     new Thread(() => {
         string res = null;
         while (res == null) {
             try {
                 res = XmlRpcResponseSerializer.Singleton.Serialize(response);
             } catch (Exception e) {
                 res = null;
             }
         }
         lock (slaves) {
             foreach (var slave in slaves) {
                 slave.SetLoginResponse(res);
             }
         }
     }).Start();
 }