clean up the refactored source
add a player registry
add some tests for value object
add a value object base class for equals handling