An additional "private" constructor

I have a Color class where all the data is stored in a single uint named “_value”.

However, the constructor for Color looks like this:
public function Color(r:uint = 0, g:uint = 0, b:uint = 0):void
{ _value = (makeChar® << 16 | makeChar(g) << 8 | makeChar(b)); }

If I want to create a clone() method, I have to first convert the “_value” variable to an RGB object, then, the constructor automatically converts the object back into a hexadecimal value. Blatent waste of efficiency!

However, I would rather have the constructor be user friendly and allow them to type in each color value instead of one hex value (they can use the Color.fromHex() if they really want to, but it does the same as the clone() method and converts back and forth)

Is there any way to instantiate a class without going through the one single constructor function? Any way to set up a private constructor in addition to the public one?

Most Visual Stuido languages allowed you to have multiple constructors, and the chosen constructor is determined by the passed in arguments. This was REALLY convenient, but sadly, AS3 only allows one constructor, right? :frowning:

Any workarounds?