using inner classes for huge event handler code