Moved variable substitution to eval()
 * Adds support for reusing a single Expression instance whenever evaluating an unchanging expression with different values of any variable(s)