When you want to have an audioContext singleton but don't want to rewrite [this code](index.js), use this. Deals with browser differences in AudioContext and maintains the singleton.
For use with async/await patterns that immediately handle errors instead of using try/catch, wraps callback-using functions in promises that return errors in an object instead of rejecting.