     /**
      * @inheritDoc
      * 
-     * The interpolation for ColorInterpolator takes the form of parametric
+     * The interpolation for RGBInterpolator takes the form of parametric
      * calculations on each of the bottom three bytes of 
      * <code>startValue</code> and <code>endValue</code>. This interpolates
      * each color channel separately if the start and end values represent
      * RGB colors.
      */
-    public function interpolate(fraction:Number, startValue:*, endValue:*):*
+    public function interpolate(fraction:Number, startValue:Object, 
+        endValue:Object):Object
     {
         var startR:int;
         var startG:int;

        return newR << 16 | newG << 8 | newB;
    }

}
}
package mx.effects.interpolation
{
/**
 * The RGBInterpolator class provides RGB-space interpolation between
 * <code>uint</code> start and end values. Interpolation is done by treating
 * the start and end values as integers with color channel information in
 * the least-significant 3 bytes, interpolating each of those channels
 * separately.
 */
public class RGBInterpolator implements IInterpolator
{   
    private static var theInstance:RGBInterpolator;
    
    public function RGBInterpolator()
    {
        super();
    }
   
    /**
     * Returns the singleton of this class. Since all RGBInterpolators
     * have the same behavior, there is no need for more than one instance.
     */
    public static function getInstance():RGBInterpolator
    {
        if (!theInstance)
            theInstance = new RGBInterpolator();
        return theInstance;
    }
    
    /**
     * Returns the <code>uint</code> type, which is the type of
     * object interpolated by RGBInterpolator
     */
    public function get interpolatedType():Class
    {
