udf: add interface for user defined aggregations