I'm not the biggest fan of this being a private class - you might never manually create one as a user, but you certainly get them. Also, it seems to me that this is a unary aggregation, so perhaps this could be called ```UnaryAggregation```?