Add proper state transition for play=>pause button
Refactor so that play/pause action is async