You are given a chess graphical interface, with drag and drop functionnalities (or other interaction mode), board flipping, and some pieces/cells sets given. Then, you have some callbacks methods in order to validate moves from your chess engine and to update them to your chess engine.