private void UndoMovement(Position from, Position to, Piece catchedPiece) { var piece = Board.RemovePiece(to); piece.ReduceNumberOfMovements(); if (catchedPiece != null) { Board.PutPiece(catchedPiece, to); CatchedPieces.Remove(catchedPiece); } Board.PutPiece(piece, from); }