sounds like the best ways to do this are either the collision + remove functions, or a schedule to spawn in a new projectile
do schedules get deleted automatically if the object is deleted? otherwise have it shorter than the projectile lifespan, and have that spawn in the new projectile and delete the itself