One USB device with multiple device types?
USB Protocol standard 2.0 chapter 9.2.3 // can be found in zip from usb.org or http://www.perisoft.net/engineer/usb_20.pdf  

Within a single configuration, a device may support multiple interfaces.  An interface is a related set of
endpoints that present a single feature or function of the device to the host.  The protocol used to
communicate with this related set of endpoints and the purpose of each endpoint within the interface may be
specified as part of a device class or vendor-specific definition.

I it common to have multiple interfaces in single device.

All you need to support is multiple interfaces or hub if whit "virtual devices" based on what you find simpler to implement.