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.