Refactored to use ExpressionLanguage component.