         return holder;
     }
 }
-import flump.display.Movie;
-import flump.mold.MovieMold;
-
-import starling.display.DisplayObject;
 
 class MovieCreator {
     public var frameRate :Number;
     public var mold :MovieMold;
 
+    public function MovieCreator (mold :MovieMold, frameRate :Number) {
+        this.mold = mold;
+        this.frameRate = frameRate;
+    }
+
     public function create (idToDisplayObject :Function) :DisplayObject {
         return new Movie(mold, frameRate, idToDisplayObject);
     }

    public function createMovie (symbol :String) :Movie { return Movie(idToDisplayObject(symbol)); }

   /**
    * Creates a texture for the given symbol.
    *
    * @param symbol the symbol name of the texture to be created
    *
    * @return a DisplayObject instance for the symbol
    *
    * @throws Error if there is no such symbol in these resources, or if the symbol isn't a texture.
    */
    public function createTexture (symbol :String) :DisplayObject {
        const disp :DisplayObject = DisplayObject(idToDisplayObject(symbol));
        // TODO - add loadDisplayObject to load either if the user doesn't care?
        if (disp is Movie) throw new Error(symbol + " is a movie, not a texture");

    protected var _zip :FZip = new FZip();
    protected var _lib :LibraryMold;

    protected const _creators :Dictionary = new Dictionary();//<name, ImageCreator/MovieCreator>
    protected const _pngBytes :Dictionary = new Dictionary();//<String name, ByteArray>
    protected const _pngLoaders :Executor = new Executor(1);
}

import flash.geom.Point;

import flump.display.Movie;
import flump.mold.MovieMold;

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

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

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

    public function create (..._) :DisplayObject {
        const image :Image = new Image(texture);
