This assumes all problems have a population field. Why do problems need to know whether they're being solved by a single state method like HillClimber or a population method like this?