Restructure of the probject into interfaces and implementations for
Game, Move, Board and Piece.