So then the solution is somewhere in-between, which is perfect since that's actually sensible with generated code.
My concern is that since ability templates are static, I am planning to make many permutations of them to support different effects, so I'm expecting giant dictionaries of string --> skill conversions since that CAST isnt supported. Talking thousands likely.
It sounds like I want to break these up into categories similar to a binary search then.
Thanks for the help!