WidgetにListenerを登録するには

なんて書いてみたけれども、『Listenerを登録する』という概念がGlimmerには存在しません。どういうことかっていうと次のコードを見てみてください。

@show_button = button {
  text "表示"
  on_widget_selected {
    @practice.visible true            
  }
  on_focus_gained{
     puts "focus_gained"
  }
  on_focus_lost{
    puts "focus_lost"
  }
}

なんかイベントハンドラみたいに書けるんですけど!登録できるリスナの呼び出し先のメソッド名がそのままハンドラ名になってるようです。これでややこしいリスナクラスを覚えなくても色々ごにょごにょできる。っていうか、この呼び出し方法ってセンスがいいとおもう。すげーなー。