A Java-generics based version of the Observer/Observable model (replacement for the classes in java.util).