refactored out dependencies from Player to PlayerSource