It's maddening, isn't it? They should burn all books

Yeah, I use IsStageDone() to check whether I have read a particular book and so whether my Quest needs updating. But what was going to be quite complex is not, because I can't actually check that a book has been read (I am only checking the quest and assuming - and I am right, because I made the quest! - that something else has advanced which must be the result of reading the book). I half started to put together a quest that has a stage for every book in game (hard coded), then I thought ... hmmm, new books ... and abandonned that.
Somewhere on this forum (early in its life) there is a thread about being able to marry the lass who works at the shop in Riverwood. As far as I know, the guy never solved why it is impossible to make her marriageable ...
It seems there are a few things in game that do not behave the way we expect, with no indication of why ..
If one of you crack "HasBeenRead" please let me know ... will make my life easier

Another thing on Books:
There is a book called, "MQ202GissurNote". It includes some text-replacement to add player Race, six and name. There is no script attached to it. How does the note do the replacement!? I figured this out (well, kinda). The book is put in an NPC inventory using Reference Alias of the quest the book is attached to. The Reference Alias for the book has "Uses Stored Text" option ticked ... According to the wiki: http://www.creationkit.com/Quest_Alias_Tab#Checkboxes: Not a whole lot of info, but it's a start ...
AND another thing: "QABooksContainer" holds a copy of (supposedly) every book in game. Why? What is that meant to do? If a new book is added to the game (modded) what happens when that book is not (also?) in this container? (Nothing, apparently, as I have a functioning note that has never seen that container)
... Books ... burn 'em
