I'd consider this but there would be an issue when a block, that's not a direct neighbor, is updated.
For example if we have two blocks that have 3 blocks of air in-between no method will be called on the two blocks if we place a block in the middle air block.