I think it’s reasonable, but from what I remember, it’s not that feasible. I checked this code not too long ago while implementing the rewind across tracks functionality. From what I recall, it’s easy to implement as a “quick fix,” but the trouble lies in the edge cases. For instance, if you rewind and the track keeps playing after you finish rewinding, it will work nicely. However, if a track ends while you’re still rewinding, it will fail miserably with unexpected result. And handling this case is not a trivial task with the current design, but that’s my understanding.