code: def copy(
              self,
              extractor=None,
              needs=None,
              store=None,
              data_writer=None,
              persistence=None,
              extractor_args=None):
          
          f = Feature(
              extractor or self.extractor,
              needs=needs,
              store=self.store if store is None else store,
              encoder=self.encoder,
              decoder=self.decoder,
              key=self.key,
              data_writer=data_writer,
              persistence=persistence,
              **(extractor_args or self.extractor_args))
          f._fixup_needs()
          return f
docs: Use self as a template to build a new feature, replacing
          values in kwargs