pass wavedata as fucntion with execution context, decoupling shaker from soundcloudaudio.js