I'm iteratively updating these methods to have getters and setters for
all components because eventually we might like to make the actual members
private.
TaskSpecDelegate was written to be the abstraction between the Task Spec object
agents and environments interact with, and the implementation of each version
of the Task Spec.