Cleaned up and documented AudioOutput class