New class WeaponInterface