Re-simplified move object. The simplest solution is just to add a capturedPiece property that handles en passant and to make a castle two moves