Correctly handle presence. I think.
Add some FIXME notes and clean up.
Add some rudimentary abstractions for chat rooms.