Specifically Object Oriented Programming.
Originally, I was accessing the specific advanced/medium/beginner variables directly. Actually there was every reason to leave the decision tree at the Application (with the Application) and just ask for the output variables.
Now that I have changed the options, not only do I have the normal beginner/medium/ advanced playing fields, I have the same variables for the 'Blink' (show cards before play), the 'Challenge' (change timer as player progresses), and 'Master' (hide matched cards) variants. I have to add specific registry keys for each combination of variant and still deliver them to the User with the same function call.