Make play/pause/seek promise based