I agree it would work, but for the sake of API consistency, we should use the event mechanism. The performance impact should be minimal, especially considering that tiles aren't loaded every frame.

And yes, the receiver of the event would be able to modify the tile.