まさかとは思うが、Weaponとかゲーム上の名前で、
インターフェースになるクラス作ってないよな。
DelegaterとかDictionalyとかRegistoryとか、あくまで機能で
クラスを分けなさい。ユーザーサイドの視点でクラスを作ると
無駄が増えるだけ。