LGTM
ただコンストラクタに引数ごちゃごちゃ渡して継承スパゲティ作るのが好きじゃないので、自分はあんまりやりません