Handle pause play teardown

IsInState will wait for state transition, right? So, lets say stream is in paused state, I call Play twíce. First call will return immediately, since there is no state transition, and will set new state asynchronously, right? Second call will wait for transition to complete and "if (cond...)" will be false.