Sometime we'll separate the Symja library from the <tt>MathObject</tt> structure (there will be made other classes that do the translation). Relying on a Symja type is therefore not a good idea. I'd think some kind of associative array (or just an integer array with length 26) that maps variables to their powers would be a good idea. It would work just as the powers for the constant symbols (π, <i>e</i>, i) work now.

You can keep the lookup table for now as it is needed in <tt>eval()</tt>.
This will be transferred when we're separating Symja from the MathObjects.