/// <summary>
        /// Create a unit for adding to the program.
        /// <para>The user should pass in the name of the unit,
        /// the gradient of the unit relative to the unit it is based on,
        /// the y-intercept of the unit relative to the unit it is based on,
        /// and the unit it is based on/modelled after.</para>
        /// </summary>
        /// <param name="name"></param>
        /// <param name="gradient"></param>
        /// <param name="intercept"></param>
        /// <param name="unitBase"></param>
        public Unit CreateUnitWithBase(string name, double gradient, double intercept, Unit unitBase)
        {
            double rGradient  = unitBase.GetGradient();
            double rIntercept = unitBase.GetIntercept();

            return(new Unit(name,
                            gradient * rGradient,
                            intercept * rGradient + rIntercept));
        }