Major refactor with some breakage, moving to using a third party angular audio directive.