FXAudio Item
JavaFX implementation of ObservableAudioItem with lirp-fx scalar properties.
Each mutable metadata field is exposed as a lirp-fx property (fxString, fxObject, fxInteger, fxFloat) that serves as the single source of truth for its JavaFX value. Reactive mutation events are published via mutateAndPublish so lastDateModified is updated and subscribers are notified on every state change, both when properties are set directly and when they are mutated through the lirp-fx JavaFX property.
Side-effect logic (updating artistsInvolvedProperty) is registered as change listeners on titleProperty, artistProperty, and albumProperty via syncArtistsInvolved.
lastDateModifiedProperty is updated automatically by ReactiveEntityBase after each successful mutation.