Use channels to make the read/unread buttons work right.

Outstanding issue: channels eventually close, and are not currently reopened.