public static interface UdfResolver.UdfFactory
This factory is required because a user-defined function is allowed to store state in itself. Therefore it is unsanitary to use the same UDF in the function table for validation and runtime. In the function table there is a factory. We use one instance of instance of the UDF to validate, and create another for the runtime plan.