tweak play/pause to avoid screwing up the global state