Handle pause play teardown

I made all functions synchronous. Previously all except IsPaused were async.