Use unique_ptr to handle GlobalOpt's Evaluator members