def METHOD_NAME(
        modelName,
        data,
        config,
        logFile,
        logDir,
        logHead,
        crossValidation,
        bestTrialRetraining=False,
        transferLearning=False,
        modelPredict=False
    ):
    # create a model agnostic objective instance
    objectiveMLP = Objective(modelName=modelName, data=data, config=config,
                        logFile=logFile, logDir=logDir, logHead=logHead)
    # add goal and model specific settings
    if bestTrialRetraining:
        objectiveMLP = addBestTrialRetrainingSettings(objectiveMLP, config)
    elif modelPredict:
        objectiveMLP = addModelPredictSettings(objectiveMLP)
    else:
        objectiveMLP = addHpoSettings(objectiveMLP, crossValidation, config)
    return objectiveMLP