move expression evaluation to MappingExpression