Projectiles should have some system to have a constant velocity, as well as have the ability to not be deleted when they hit targets.
The ability to not be deleted could be a return value of onHit in the EntityProjectile code as opposed to a standalone setting.