added IControllerModel and ModelStateBase for serialization
took out controller ref in DesktopSoundGenerator