def METHOD_NAME(self, task, expression, external_methods=None):
    """
    Evaluate the given expression, within the context of the given task and
    return the result.
    """
    try:
        return self._evaluate(expression, task.data, external_methods)
    except SpiffWorkflowException as se:
        se.add_note(f"Error evaluating expression '{expression}'")
        raise se
    except Exception as e:
        raise WorkflowTaskException(f"Error evaluating expression '{expression}'", task=task, exception=e)