Having both a Onyx Plus radio for one car and an SXV300 on an aftermarket radio for my other car, I miss all the features that the Onyx offers but the SXV300 doesn't (at least through my aftermarket radio). I have been on a quest to understand how the SXV300 works. Are there any techies/experts out there that can explain the functioning of the SXV300 at a high level?

I know that the SXV300 supports all the functions that the Onyx does, but that it is at the mercy of how the radio manufacturer programmed the radio to utilize these functions. My questions:

My aftermarket radio does not show artwork, so....
How is artwork for the Sirius stations and the artist albums managed?
-is this artwork stored in the SXV300 memory and downloaded to the radio as needed for display?
-when is this artwork refreshed?
-or is it downloaded directly from the satellite as needed when listening to a station?

Where are sports/artist/song alert preferences stored?
-in the radio or the SXV300?

How does buffering work where preset stations get 30 minutes of song buffering, and the current active station gets 60 minutes of buffering?
-are the station presets in the SXV300 or in the radio?
-if presets are stored in the radio, how does the SXV300 know which stations to buffer?

I realize from the SXV300 radio connector pinout that communications with the device is done serially.
-at a high level how are commands sent to the SXV300 to:
*select stations
*move through song buffer
*have artwork downloaded to the radio (if that's how its done)
*set team/song/artist alerts
*scroll through current stations that show the current songs playing

Are there defined commands that the SXV300 that recognizes to do the above?
Or is this done through a high level programming language that communicates between the radio CPU and the SXV300 CPU through the serial connection?

I know, a lot of questions.....just wondering if anyone can provide some/all of these answers. I love the technology, so I'm curious to understand it better.