DRY, and get read-unread indicator working