3 comments on this:
* can we factorize with icon-unread? Have an "icon" class for example? Only the background-image changes between states.
* can you investigate if we can have a .draft class on the thread node itself? And .unread too? Maybe even make the icon a generated content (although I'm not sure of this one, maybe it's overkill) ?
* I think we can have both unread and draft, and your current markup does not allow this.