       css = atob(splitUrl.data)
       assetNamesToData[name] = $('<style type="text/css"></style>').html(css).appendTo("head")
     else if splitUrl.mimeType.indexOf("image/") == 0
-      assetNamesToData[name] = Util.strToObjectURL(splitUrl.data, splitUrl.mimeType)
+      blob = Util.dataURLToBlob(dataUrl)
+      objectUrl = URL.createObjectURL(blob)
+
+      image = new Image()
+      image.src = objectUrl
+      # TODO: verify that images loaded correctly?
+
+      assetNamesToObjectUrls[name] = objectUrl
+      assetNamesToData[name] = image
     else
       assetNamesToData[name] = atob(splitUrl.data)
 

    else if splitUrl.mimeType == "text/css"
      assetNamesToData[name].remove()
    else if splitUrl.mimeType.indexOf("image/") == 0
      URL.revokeObjectUrl(assetNamesToData[name])

  assetNamesToData = {}

  # Create new assets
  for name, dataUrl of newAssetMap

currentServices = null
currentEvaluator = null

assetNamesToData = {} 
assetNamesToObjectUrls = {}

compiledActions = {}
compiledTools = {}

