Anyone have any good ideas for a grid system that can easily check surrounding grid tiles?

What I want to somehow accomplish is a tile grid system that can be grouped into areas like a 4x4 or smaller and the grouped tile grid can check other surrounding tiles or grouped tiles to exchange data with each other.

Like to say if one tile of a grouped area of tiles catches on fire, then would spread to other tiles close to the source of the fire, and the rooms would be separated by doors and walls, and if there are no walls or an open door then the fire can spread through.

If anyone has any good ideas I would like to know.

This is generally accomplished with a “tick” system, where you have a list of all your tiles, their position and current state, and then update them once each tick to see if anything needs to change. Fire would just be as simple as finding the adjacent tiles and sending a message or calling a method on that tile.