public IOptimizationResults <StringConfiguration> Evolve()
            {
                IObjectiveEvaluator <StringSystemConfiguration> objectiveEvaluator = new StringObjEvaluator(this.target);
                StringSystemConfiguration point = initializationFactory.CreateRandomCandidate();
                IObjectiveScores          score = objectiveEvaluator.EvaluateScore(point);

                // TODO: Expand on the details of the algorithm. For now, the high-level interfaces is what we are teasing out.
                return(null);
            }