Rather than the board representation, the BoardModel interface defines how to access the data and it provides a mechanism to listen to changes to the data-structure. This is designed with the same idea in mind as the ListModel or TreeModel interfaces defined in the Swing libraries. This is the main communication mechanism used between different building blocks to inform each other of modifications and the need for an update.
This may seem a bit abstract right now, but it will be more clear (and used) at a later stage. Let's move on to a more concrete building-block: MoveAdministration