Replaced all iVars with (private)properties.
Replaced deprecated call to AudioHardwareGetProperty() with supported function.
Some cleanup and simplifications.