Now and then there have been a lot of discussions about the JID Escaping XEP and I have contributed myself since I found it problematic that a user may enter a JID where its parts cannot be uniquely identified, and therefore is invalid from a users perspective.
While implementing stream compression I noted it says that "Negotiation of stream compression SHOULD be completed before authentication via SASL". This is also the way ejabberd 1.1.2 and OpenFire 3.3.2 works.
Sander brought my attention to a project by Armando Jagucki to produce a PEP server component for OpenFire and his recent advances. Since there is a test server at jabber.esoteriq.net I wasn't late to test it.
As a client is being developed it can be difficult to figure out beforehand what it will eventually look like. I used to have a strategy to put almost all new menu entries in the "Jabber" menu, which clearly created a total mess after a while.