If we represent settings with types, we can provide an api to get/set/monitor settings that guarantees we can only access settings that exist with the right types, without seperate getter/setter/callback functions like GTK would use.