sealed class MapChange
data class Added : MapChange
data class Modified : MapChange
data class Removed : MapChange
abstract val node: NodeInfo