Projectile and ProjectileFactory