Add methods to detect unread messages. It also needed to request the server for unread messages when some state change happen. This is the second step towards #1.