The audio output objects all have the same general necessary configuration calls. Abstract them out to a generic AudioOutputBase interface class that they will inherit from. Simplifies letting applications use different output channels. Should be backwards compatible with existing code.