// creates a new custom object and a wrapper for it
        protected SphereSet(DesignFace desFace, int count, double strength, double radius, Color color)
            : base(desFace.GetAncestor <Part>())
        {
            this.desFace   = desFace;
            this.count     = count;
            this.strength  = strength;
            this.radius    = radius;
            this.color     = color;
            this.positions = GetInitialPositions(desFace.Shape.Body, count, true);

            desFace.KeepAlive(true);
            allSphereSets.Add(this);
        }