Refactored the way players are initialized, and exposed some public methods.