Is your feature request related to a problem? Please describe.
Yes. BasePopulation is package‑private, so consumers cannot subclass it or override its methods (e.g., replace()), preventing customization of population behavior.
Describe the solution you'd like
Make BasePopulation and its nested population classes public, or provide a public extension point (e.g., a PopulationFactory or PopulationReplacementStrategy, or protected hook methods).