text: Title: create a deepcopy of TaskSpec init params
  Body: `data`, and `meta` params in the TaskSpec constructor are dictionaries: https://github.com/ploomber/ploomber/blob/c87c60db954f72309b1e421a5399f9f6a426e5fe/src/ploomber/spec/taskspec.py#L166
  
  Since both of them are modified inside the class, we should call `copy.deepcopy` to prevent side-effects outside the class
  
  https://github.com/ploomber/ploomber/blob/master/src/ploomber/spec/taskspec.py#L166