Updates the DuplicationTask to be able to read from and write to the Task format, also breaks out a base class "TypedTask" which handles the pieces that are likely to be of general use.