sealed class LayerTreeEvent
data class LayerPaintedEvent : LayerTreeEvent
data class LayerTreeDidChangeEvent : LayerTreeEvent