共通クラス(Event、EventDispatcher)とメソッドを別ファイルに切り出した。多重定義が起こるため。