この手のはいくつかの異なる系統のアイテムを実装しておいてから、
共通部分を探して抽象クラスなりインターフェイスなりにしている。
いきなり抽象クラス等を作るのは苦手だ。