Adding in player class to maintain player state across challenges and cleaned up challenge construction