Make startup option map implementation details private to Framework. Remove unneeded (and suboptimal, QString::loLower is not a free operation) OptionMapCaseInsensitive and replace its usage with already existing QStringLessThanNoCase. Fix couple of QString::compare calls (only 0 means exact match!). Rename startupMap back to startupOptions (this kind of metadata appended to variable name is not necessary).