This changes a lot of code, so it keeps a kind of singleton MediaPlayer to not break much more of it.