An observable map will trigger a PropertyChangeEvent every time a value changes. We can convert a map into an observable one with the 'as' keyword too:

We can also wrap an existing map with an ObservableMap

Lastly we can specify a closure as an additional parameter, it will work like a filter for properties that should or should not trigger a PropertyChangeEvent when their values change, this is useful in conjunction with Expando. The filtering closure may take 2 parameters (the property name and its value) or less (the value of the property).