persist updates made in timeout callback