Reworks the player to load everything async & fixes functionality