This [article](https://kotlin-code.com/design-patterns/behavioral-patterns/observer-pattern/) shows one example code using multiple handlers in one observer. I give a code example from this article below. But there is a memory leak error in this code - the handler is added to the mutablelist, but it is not deleted from the list when, for example, an object using one of the handlers is deleted from memory.

```
class WeatherStation {
    val temperatureChanged = mutableListOf<(Int) -> Unit>()

    var temperature: Int by Delegates.observable(0) { _, _, newValue ->
        temperatureChanged.forEach{it(newValue)}
    }
}

// ...

val weatherStation = WeatherStation()    
// Adding observer to the list, but where is its removal???
weatherStation.temperatureChanged.add { temperature ->
    println("Temperature changed: $temperature")
}

```

How to fix it, or are there alternative solutions?
I need - so that when changing one property, several observers are invoked.
Trying to use LiveData causes a lot of [difficulties](https://stackoverflow.com/questions/49832787/android-livedata-prevent-receive-the-last-value-on-observe).