everything is in separate files now. Also, I noticed sleekxmpp uses an RLock for blocking its stream from sending xml messages, so I have client sockets start a new thread when they send data.