- see also: grep 'XXX\|FIXME\|TODO' * -r
  - lib/Net/XMPP2/Writer.pm: # XXX: removed authname, because it
                                    ensures maximum connectivitiy
- test enable_feature by time

- look at attribute namespace preservation! (if they got
  prefixes, how to parse this with expat?
  see also http://www.w3.org/TR/REC-xml-names/#scoping-defaulting )

- put some serious stuff in the synopsises

- implement iq-auth!!!!

- fix problem that xml::writer writes after <stream/> ahs been written
  - reproduce by conflicting resources!

- test the xml parse error object somehow!

- add context field to IQ error for all the places origin from IQ errors
  (bind_error, session_error, ...)

- Net::XMPP2::Client
  - find a way to distinguish presences from JIDs that
    are in multiple account's roster.

- Net::XMPP2 missing functionality to be RFC 3920 conform:
   - improve error handling for SASL to 
     support retries as specified in RFC 3920.
     (eg. by supporting a method sasl_retry() which takes
      the changed credentials)
   - SRV record lookup
      - weight handling!
   - in band registration and un-registration!!!
      - finish in-band-registration XEP
   later:
      - make dns resolution async!

- Net::XMPP2::IM missing functionality to be RFC 3921 conform:
   - 7.2.  Business Rules

- Implement XEP-0082: XMPP Date and Time Profiles
   - util functions to convert them to unix timestamps

- Implement XEP-0115: Entity Capabilities

- Implement XEP-0045: Multi-User Chat
   - think about: make seperate MUC handler class

- Implement XEP-0190: Best Practice for Closing Idle Streams

- Maybe implemente XEP-0146: Remote Controlling Clients

- keep an eye on:
   - TLS: implemented, just do some extensive testing WRT blocking,
          i don't trust the current way the watchers are handled,
          i'm in fear of deadlocks...

- Implement XEP-0030: Service Discovery
   - see also: XEP-0128: Service Discovery Extensions
   - missing feature: building up a item tree for discovery
   - defining multiple 'personalities' in the Disco module
     for eg. handling discos to components and such.
