<<Interface>>
IPlayer
+ CreatePlayer(playerTag: string): Player
+ SetNextPlayer(): string
+ SetFirstPlayer(): string
+ PlaceTile(player: Player, tile: Tile, x: int, y: int): bool
+ DrawTiles(player: Player): bool
+ SwapTiles(player: Player, tilesToSwap: List<Tile>): bool
+ GetPlayerScore(player: Player, cellsPlayed ReadOnlyCollection<Cell>, b: Board): int