changed audio management to utilize Observer pattern