Any reason we can't store the position and seek type in a struct wrapped with ControlValueAtomic? Seems to me that's what it's for. There's a tiny race-condition when they're split.