微妙に Moose とは異なるのでメモ MyApp::Roleクラスが必須になる Moosenize された時に MyApp::Role クラスに requires with after before などの必須メソッドをエクスポートする import メソッドを突っ込む。 そして、 MyApp::Plugin の register メソッドを拡張して、この register フェーズで requireses のチェックやら Role で定義された after, before の install などを行う。 Class::Component の Plugin は register メソッドが、初期化フェーズにあたるので、ここで全部やっちゃう。 ただし、同じ名前のPluginでもloadされた数だけ register 呼ばれるので、最初の一回だけ初期化する。 Role 作る時のルールとして