I kind of understanding why you check options.read === false here now, but it also cause a problem in thread message creating(Thread.fromMessage, unreadCount part). Instead of checking the read===false, how about we use `unread : true`  option for unread message?