     }
 
     /**
-     * 	@private
-     */
-    private function takeSnapshot():void
+     * 	@protected
+     */
+    protected function takeSnapshot():void
     {
       if (!noSnapshotFlag)
       {

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

    /**
     *  @private LookupTable of isValid flags
     */
    private var validators:Object;

    //----------------------------------
    //  undoHistorySize
    //----------------------------------

    /**
     *  @private
     */
    private var _undoHistorySize:int = 5;

    /**
     *  The undoHistorySize defaults the number of undos.

    /**
     * 	Gather references and defaults of all the children
     */
    protected function strChildren(obj:Object):String
    {
      var str:String = "";
      for (var a:String in obj)
