Why not just initialize the audio tag on instantiation? That removes the need for caching and reduces code size