Added IPlayer interface for different player types and unit testing.