hmmm, the software design side of me agrees that that is much cleaner and less error prone. The developer side of me thinks it's pretty opaque, and would inhibit efforts to understand the code. Let me think about it and get a few other pairs of eyes on it. Might be a solid approach if paired with great docs/instructions. I'm concerned the specific options we are supporting get lost in there...