PathFindingNode ClosestNeighborTo(PathFindingNode pc, PathFindingNode target)
        {
            List <string> vals = Neighbors(pc).OrderBy(p => Distance(p, target)).Select(p => $"{p.X}, {p.Y}, ({Distance(p, target)}").ToList();

            return(Neighbors(pc).OrderBy(p => Distance(p, target)).FirstOrDefault(p => p.Viable && Distance(p, target) < Distance(pc, target)));
        }