use setattr instead of self._trait_values