Move DiffExpressionVisitor
ExprFactory -> FunctionFactory