Rename opponent to default_opponent. Chance player and default opponent inherit from base player class.
Reduce default opponent to a decision function
Reduce chance player to a decider. Remove unused factories from chance player and default opponent
Improve tests for base player
Player factory returns empty player if given a falsy decider. Player factory creates list of players when given a splitter and some decision functions
Rename default_opponent -> opponents, base_player -> player_factory
Create opponent that always tries to beat its high score