Since Java 9 the pair Observer-Observable have been declared deprecated
.
They don't provide a rich enough event model for applications.
For example, they support only the notion that something has changed,
but they don't convey any information about what has changed.
There are also some thread-safety and sequencing issues that cannot be fixed compatibly.