Follow up for the following comment. The View constructor accepts both AggregationType and AggregationConfig because the base AggregationConfig stores config for multiple AggregationTypes. Create a AggregationConfig for each AggregationType could simplify the View constructor signature. The cons is it will the SDK API.
#3732 (comment)