Wrapping the players in a closure to protect them from leaking into global namespace. Only thing that is left exposed is DivinePlayer.getSupportedPlayer()