Priority is amorphous in relation to async stacks, or perhaps just underspecified. Sync stacks obviously only play a single sound at a time, but async stacks play multiple ones. For an async stack, does a new sound of higher priority cause all existing lower priority sounds to be interrupted, or does the priority only affect its insertion position and all sounds in the stack are mixed together? If the former, it should be specified that only the sounds of the highest priority in a stack are played concurrently in an async stack. I also think that multiple (or single, or concurrent) would be a clearer name than async.