/// <summary>
        /// Creates and immediately runs a transition on the property passed in.
        /// </summary>
        /// <param name="target">The target.</param>
        /// <param name="strPropertyName">Name of the string property.</param>
        /// <param name="destinationValue">The destination value.</param>
        /// <param name="transitionMethod">The transition method.</param>
        public static void run(object target, string strPropertyName, object destinationValue, ITransitionType transitionMethod)
        {
            ZeroitTransitorEdit t = new ZeroitTransitorEdit(transitionMethod);

            t.add(target, strPropertyName, destinationValue);
            t.run();
        }
        /// <summary>
        /// Starts the animation.
        /// </summary>
        public void Activate()
        {
            int x       = Duration;
            int flashes = No_Of_Flashes;

            switch (Transitions)
            {
            case TransitionType.Accelaration:
                ZeroitTransitorEdit accelerate = new ZeroitTransitorEdit(new TransitionType_Acceleration(x));
                accelerate.add(Target, Position.ToString(), Destination);
                accelerate.run();
                break;

            case TransitionType.Bounce:
                ZeroitTransitorEdit bounce = new ZeroitTransitorEdit(new TransitionType_Bounce(x));
                bounce.add(Target, Position.ToString(), Destination);
                bounce.run();
                break;

            case TransitionType.CriticalDamping:
                ZeroitTransitorEdit criticalDumping = new ZeroitTransitorEdit(new TransitionType_CriticalDamping(x));
                criticalDumping.add(Target, Position.ToString(), Destination);
                criticalDumping.run();
                break;

            case TransitionType.Deceleration:
                ZeroitTransitorEdit deceleration = new ZeroitTransitorEdit(new TransitionType_Deceleration(x));
                deceleration.add(Target, Position.ToString(), Destination);
                deceleration.run();
                break;

            case TransitionType.EaseInEaseOut:
                ZeroitTransitorEdit easeInEaseOut = new ZeroitTransitorEdit(new TransitionType_EaseInEaseOut(x));
                easeInEaseOut.add(Target, Position.ToString(), Destination);
                easeInEaseOut.run();
                break;

            case TransitionType.Flash:
                ZeroitTransitorEdit flash = new ZeroitTransitorEdit(new TransitionType_Flash(flashes, x));
                flash.add(Target, Position.ToString(), Destination);
                flash.run();
                break;

            case TransitionType.Linear:
                ZeroitTransitorEdit linear = new ZeroitTransitorEdit(new TransitionType_Linear(x));
                linear.add(Target, Position.ToString(), Destination);
                linear.run();
                break;

            case TransitionType.ThrowAndCatch:
                ZeroitTransitorEdit throwAndCatch = new ZeroitTransitorEdit(new TransitionType_ThrowAndCatch(x));
                throwAndCatch.add(Target, Position.ToString(), Destination);
                throwAndCatch.run();
                break;

            case TransitionType.Zeroit:
                ZeroitTransitorEdit zeroit = new ZeroitTransitorEdit(new TransitionType_Zeroit(x));
                zeroit.add(Target, Position.ToString(), Destination);
                zeroit.run();
                break;

            default:
                break;
            }
        }