 
         const atlases :Vector.<Atlas> = TexturePacker.withLib(lib).createAtlases();
         for each (var atlas :Atlas in atlases) {
-            var mold :AtlasMold = atlas.toMold();
+            var atlastMold :AtlasMold = atlas.toMold();
             var baseTexture :Texture = AtlasUtil.toTexture(atlas);
             _baseTextures.push(baseTexture);
-            for each (var atlasTexture :AtlasTextureMold in mold.textures) {
+            for each (var atlasTexture :AtlasTextureMold in atlastMold.textures) {
                 var tex :Texture = Texture.fromTexture(baseTexture, atlasTexture.bounds);
-                var creator :ImageCreator =
-                    new ImageCreator(tex, atlasTexture.origin, atlasTexture.symbol);
-                _imageCreators[atlasTexture.symbol] = creator;
+                _creators[atlasTexture.symbol] = new ImageCreator(tex, atlasTexture.origin, atlasTexture.symbol);
             }
         }
+
+        for each (var movieMold :MovieMold in lib.movies) {
+            _creators[movieMold.id] = new MovieCreator(movieMold, lib.frameRate);
+        }
+    }
+
+    public function getSymbolCreator (symbol :String) :SymbolCreator {
+        return _creators[symbol];
     }
 
     public function get imageSymbols () :Vector.<String> {

    }

    private function getStarlingTexture (symbol :String) :Texture {
        if (!_imageCreators.hasOwnProperty(symbol)) {
            return null;
        }
        return ImageCreator(_imageCreators[symbol]).texture;
    }

    protected const _maxDrawn :Map = ValueComputingMap.newMapOf(String, calcMaxDrawn);
    protected var _baseTextures :Vector.<Texture> = new <Texture>[];
    protected var _imageCreators :Dictionary = new Dictionary(); //<name, ImageCreator>
    protected var _lib :XflLibrary;
}
}

import flash.geom.Point;

import starling.display.DisplayObject;
import starling.display.Image;
import starling.textures.Texture;

class ImageCreator {
    public var texture :Texture;
    public var origin :Point;
    public var symbol :String;

    public function ImageCreator (texture :Texture, origin :Point, symbol :String) {
        this.texture = texture;
        this.origin = origin;
        this.symbol = symbol;
    }

    public function create () :DisplayObject {
        const image :Image = new Image(texture);
        image.pivotX = origin.x;
        image.pivotY = origin.y;
        image.name = symbol;
        return image;
    }
}

    }

    public function getImageTexture (id :String) :Texture {
        return ImageCreator(_creators[id]).texture;
    }

    public function createMovie (name :String) :Movie {
