public static PuzzleState CreateShuffled()
        {
            var bytes = new byte[1000];

            _rng.GetBytes(bytes);

            var movements = new PuzzleMovement[bytes.Length];

            for (var i = 0; i < bytes.Length; i++)
            {
                movements[i] = (PuzzleMovement)(bytes[i] / 64);
            }

            return(PuzzleState.Completed.Apply(movements));
        }
 private static void Apply(byte[] matrix, PuzzleMovement movement, (int X, int Y) spaceSlot)