Take any mobile phone with a moderate amount of storage. Take an computer on the intardweb with a collection of MP3's. Establish a network connect (over the mobile phone network) between these systems. Download music from the computer to the phone until the phone is at capacity. Randomly replace songs on the phone, from the computer, any time the music is played. This will make the phone appear to have an infinite amount of music storage.
Should the phone come out of contact with the computer, the phone is already filled to capacity with music so it has a large enough Queue to continue to act as an MP3 player until the connection has been reestablished.
With the proper hooks in to the foundation of the OS on the phone, this storage can be made "optional" so that, should the user need to take a photo, movie, sound recording, or collect some other piece of data, MP3's are deleted from the phone as capacity is needed.
Should the user select a new play list, songs on the phone that are in that play list start being played while songs not on the play list are deleted and replaced with play listed songs from the computer.
It feels like the phone has bottomless music, but really, we're using the intardweb for was it was intended, moving files.
Q-Zik, the music Q for you!