Build a Memory Game in React.
Requirements:
- Display a grid of cards (e.g., 4x4) face-down.
- Each card has a matching pair.
- Players can flip two cards at a time.
- If the flipped cards match, keep them face-up; otherwise, flip them back after a short delay.
- Track the number of moves or attempts.
- End the game when all pairs are matched.
- Focus on functionality over styling.