What I've found annoying when dealing with settings (in my own plugins, so it's my fault for implementing it this way) is the duplicate code... each setting appears in a preference structure, in a loading function, in a saving function. Then with sessions, the places to keep track of preferences doubles. Times however many groups there are. Then switching a setting between config and session requires moving code around ×3. If only there were a way to register settings just once and let software take care of the rest automatically.