I wrote a hand full of smaller tool sortof programs, that had the need of a very simple settings file in order to configure stuff easily and as rudimentary as it gets. My first implementation was actually my first C# project ever and I incorporated this feature so deeply into the architecture (if it had any), that it was simply impossible to port this code to other programs. That was when the idea of an independent library of classes to provide this feature in a more generic and universally applicable manner was born.
I set the requirements with the features as followes.
-storing application settings formatted as key value pairs ("key"="value") in object
-writing those settings to a textfile as key value format
-reading the file contents and parsing the settings to become accessible programmatically
-providing backup values in case reading from file failed