あと事象とは直接関連無いですが、「メインループの中ではできるだけ最小限の事をする」「全体の流れを止めてしまうWAITはできるだけ避ける」というのを常に意識する様に組めば妙に重いプログラムになるのを避けられると思います。