オリジナルのイベントリスナ実装例