def change_attributes(self, **kwargs):
        '''
        Change an attribute of this track and return a new copy.
        '''
        new_track = Track(self.viewconf['type'])
        new_track.position = self.position
        new_track.tileset = self.tileset
        new_track.viewconf = json.loads(json.dumps(self.viewconf))
        new_track.viewconf = {**new_track.viewconf, **kwargs}

        return new_track
Change an attribute of this track and return a new copy.