The UIOptions modelRelay component performs a direct relay between changes to one model and another. It does not support any transformations of values (reversible or irreversible). The UIO modelRelay should allow integrators to specify a function that can be used to transform model values.
The VideoPlayer requires at least an irreversible transformation for language preferences: The VideoPlayer model stores language settings as an index into an array of tracks, but the UIO Preferences are stored as a language code.
The VideoPlayer originally contained its on private modelRelay (which I believe is the basis for the UIO modelRelay). This original VideoPlayer relay did support transformations, and that code could serve as the inspiration for modifying the UIO modelRelay.