static public T Begin<T> (GameObject go, float duration) where T : UITweener
{
T comp = go.GetComponent<T>();
#if UNITY_FLASH
if ((object)comp == null) comp = (T)go.AddComponent<T>();
#else
if (comp == null) comp = go.AddComponent<T>();
#endif
comp.duration = duration;
comp.mFactor = 0f;
comp.style = Style.Once;
comp.enabled = true;
// reset the eventReceiver and callWhenFinished properties
comp.eventReceiver = null;
comp.callWhenFinished = null;
return comp;
}