リスナーのフィールドにして遅延生成すればいいだけじゃない?