Yep, good idea, +1. I've implemented with an app as a go-between on Plasma5 and it works.....for one zone.....or the current zone.
I can set up a unique service for each zone, ie: org.mpris.MediaPlayer2.mcwsRemote.instance0
org.mpris.MediaPlayer2.mcwsRemote.instance10000
org.mpris.MediaPlayer2.mcwsRemote.instance10001
.
.
But when defining the object/path (/org/mpris/MediaPlayer2 or /org/mpris/MediaPlayer2.Player) with a MC PlaybackZone, I can't seem to make it unique so that a zone player object in my app is associated with a different object/path in each unique service.
The work around I've used so far is mucho-hacky, essentially every time a zone command is issued, I'm re-registering the mpris object/path with the destination zone player object in my app.
Otherwise, there has to be some way for the mpris plasmoid (or launcher, whatever) to specify a zone other than "current" zone.
[edit] btw, on Plasma5, the systray plasmoid supplied handles multiple players (which can be MC zones) and all playback commands without having the .desktop file explicit actions.