class Status sig ChangedHandler(sender, message as String) shared def set(sender, message as String) raise .changed, sender, message event changed as ChangedHandler class Program var _statuses = List() def main listen Status.changed, ref .statusChanged Status.set(this, 'one') Status.set(this, 'two') assert _statuses == ['one', 'two'] def statusChanged(sender, message as String) _statuses.add(message)