Adding subdevices to UDE WDF driver

We are writing a combination UDE/USB Audio and Video device.
One of our requirements is that it has subdevices.
Such as in the client menu, Video1, Video2..., Audio1, Audio2...
I can only find one example device driver in the source of UDE-Master.
That example does not have subdevices.
The GUID for the device is 36FC9E60-C465-11CF-8056-444553540000
I am looking for a way to add subdevices to the driver.
We need the best approach for this.
We need some sample code that adds subdevices to UDE drivers.

We have a multimedia video driver that uses a GUID of 4d36e96c-e325-11ce-bfc1-08002be10318.
It creates subdevices in the INF file using this method:

[WDM_KS_Multi.NT.Interfaces]
AddInterface=%KSCATEGORY_VIDEO%,"VidSource0",WDM_KS_Multi.AddInterfaceSection.VidSrc0.NT,
AddInterface=%KSCATEGORY_VIDEO%,"VidSource1",WDM_KS_Multi.AddInterfaceSection.VidSrc1.NT,
AddInterface=%KSCATEGORY_VIDEO%,"VidSource2",WDM_KS_Multi.AddInterfaceSection.VidSrc2.NT,
AddInterface=%KSCATEGORY_VIDEO%,"VidSource3",WDM_KS_Multi.AddInterfaceSection.VidSrc3.NT,

[WDM_KS_Multi.AddInterfaceSection.NT]
AddReg=WDM_KS_Multi.AddInterfaceSection.AddReg
[WDM_KS_Multi.AddInterfaceSection.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%WDM_KS_Multi.FriendlyName%

We also have an audio driver that uses a GUID of 4d36e96c-e325-11ce-bfc1-08002be10318.
This driver is based on the simple audio sample in window driver samples main.
That uses the methods InstallSubdevice(), CacheSubdevice().
That does not seems to be setup for our purposes.

Technical questions

After we have an approach to add subdevice.
There are now two instance in the combination driver, usb and the WDF contexts.
Is there a preferred place to store the instance data for the subdevices?
Do we need to generate different end point addresses for each subdevice?