I still think at some point we need to move the config options in `koptdocument` and `credocument` to ui components. 

For example, for this screen rotate feature, it's entirely not related to document data, so it dosen't make much sense to put it in `*document.lua`, since `*document.lua` should only provide document manipulation APIs.

Also some of these options has attributes like `width` , `height`, font size, font, font text, etc, which are also document independent.

config dialog UI is very handy so we might need to use it in somewhere else not just for reader, for example: help page, file chooser (Other devices like Kobo need this), etc. These are all document independent features so where should we put the option definitions then?

Yes, your previous point is correct, all these attributes are like css, thus should not put into UI implementation code. Then how about making something like a ui-data directory and put related options definition there?