     catch error
       throw GE.makeExecutionError("Error executing the output pin expression '#{expressionFunction}' --> '#{dest}' for emitter chip: #{error.stack}", path)
 
-    [parent, key] = GE.getParentAndKey(evaluationContext, dest.split("."))
+    [parent, key] = GE.getParentAndKey(evaluationContext, GE.splitAddress(dest))
     parent[key] = outputValue
 
     memoryPatches = GE.concatenate(memoryPatches, GE.makePatches(constants.memoryData, evaluationContext.memory, path))

  logFunction.warn = (args...) -> logFunction(GE.logLevels.WARN, args...)  
  logFunction.error = (args...) -> logFunction(GE.logLevels.ERROR, args...)  
  return logFunction

# Load all the assets in the given object (name: url) and then call callback with the results, or error
# TODO: have cache-busting be configurable

    catch error
      throw GE.makeExecutionError("Error evaluating the output pin expression '#{pinFunction}' for pin '#{pinName}': #{error.stack}\nOutput pins were #{JSON.stringify(outPins)}.", path)

    [parent, key] = GE.getParentAndKey(evaluationContext, GE.splitAddress(pinName))
    parent[key] = outputValue

GE.calculateBindingSet = (path, chip, constants, oldBindings) ->
