1. Fix a bug where the unread message listener was running on extra time, because we weren't retrieving the "state" of each message from the database properly.
2. Don't notify the unread message listener unless there are new messages returned from a fetch.
3. Better name for UnreadMessageListener callback function.
Reorganise and refactor the public API for ratings, message center, and initialization.
Update documentation.