Added lesson 3: Boolean expression evaluator using the visitor pattern