Refactored players and improved tests to be more comprehensive