Pattern: observer, fjava flavour