This prototype is used to represent an objective that can be added to a ProjectProblem object. This prototype represents a recipe to make an objective, to actually add an objective to a planning problem: see objectives. Only experts should use this class directly.