[Haskell-cafe] Observer pattern in Haskell?