Yeah, I started down that path with my description dictionary, but because there might be some boolean logic (i.e. controlId = (a && b) ? 'foo' : 'bar') I stuck with if-then-else.  I agree that that way is handy.