I added protection here. I'm surprised we didn't have this before. Basically if you call `ec.play()`, you need to call `ec.stop()` before calling `ec.play()` again. This will undoubtedly save users some pain of not understanding that the TDT must be stopped and reset (which happen in the stop method) before `play` actually means "play from the beginning".