This is a continuation of #389.
All I've done at this point is cherry-picked everything that seemed vaguely related. The intension is to heavily collapse and streamline this. But this was the first step.
It does not currently test due to changes in AudioFrame