extensive refactor to move lot of the evaluation logic into a new class 'expression'.
Refactored isHigher. Corrected some logic flaws in the method which fixes a long-standing bug.