//Because I use clone the life of the lasers stay the same for all copies from the same original shot private LaserController Clone() { LaserController controllerCopy = (LaserController)this.MemberwiseClone(); //clone refrences here if needed controllerCopy.GetLaser(); //Attach to LaserManager laserManager.AttachController(controllerCopy); return(controllerCopy); }