http://comments.gmane.org/gmane.comp.lang.scala.user/63002:
case class MyEvent(number: Int)
class PrintIt extends Subscriber[MyEvent, Publisher[MyEvent]] {
override def notify(pub: Publisher[MyEvent], event: MyEvent): Unit = {
println("got an event: " + event)
}
}
class RunIt extends Publisher[MyEvent] {
def pub() = publish(MyEvent(12))
}
object Main extends App {
val runIt = new RunIt()
runIt.subscribe(new PrintIt)
runIt.pub()
}