pub trait RuntimeAggregationVariant {
// Required methods
fn descriptor(&self) -> VariantDescriptor;
fn selected_slots(&self, total_scenarios: usize) -> Vec<usize>;
// Provided method
fn sampling_plan(&self, total_scenarios: usize) -> RuntimeSamplingPlan { ... }
}