     //
     //--------------------------------------------------------------------------
 
-	/**
-	 *  Constructor.
-	 */
-	public function State()
-	{
-		super();
-	}
+    /**
+     *  Constructor.
+     */
+    public function State(properties:Object=null)
+    {
+        super();
+        
+        // Initialize from object if provided.
+        for (var p:String in properties)
+        {
+            this[p] = properties[p];
+        }
+    }
 
     //--------------------------------------------------------------------------
     //

 */
public class State extends EventDispatcher
{
	include "../core/Version.as";

    //--------------------------------------------------------------------------
    //

     */
    mx_internal function initialize():void
    {
        if (!initialized)
        {
            initialized = true;
            for (var i:int = 0; i < overrides.length; i++)
            {
                IOverride(overrides[i]).initialize();
            }
        }
    }

    /**
     *  @private
     *  Dispatches the "enterState" event.
     */
    mx_internal function dispatchEnterState():void
    {
        dispatchEvent(new FlexEvent(FlexEvent.ENTER_STATE));
    }

    /**
     *  @private
     *  Dispatches the "exitState" event.
     */
    mx_internal function dispatchExitState():void
    {
        dispatchEvent(new FlexEvent(FlexEvent.EXIT_STATE));
    }
}

}
