Handle pause play teardown

That's right. If you want Play() to wait until the transition is complete, you should first set the state, then get/check for it. If you want Play() to return immediately without guarantees about when the transition completes, you just set the state and return.