Add support for output switching
Abstract and generalize system volume controls
Add input controls