diff --git a/test/fixtures/readProjectFile.js b/test/fixtures/readProjectFile.js
index 22c413a62..6b8e5777d 100644
--- a/test/fixtures/readProjectFile.js
+++ b/test/fixtures/readProjectFile.js
@@ -2,10 +2,10 @@ const AdmZip = require('adm-zip');
 const fs = require('fs');
 
 module.exports = {
-    readAsBuffer: function (path) {
+    readFileToBuffer: function (path) {
         return new Buffer(fs.readFileSync(path));
     },
-    readAsString: function (path) {
+    extractProjectJson: function (path) {
         const zip = new AdmZip(path);
         return zip.readAsText('project.json', 'utf8');
     }
diff --git a/test/integration/clone-cleanup.js b/test/integration/clone-cleanup.js
index 9378cf0b8..ea5f8483f 100644
--- a/test/integration/clone-cleanup.js
+++ b/test/integration/clone-cleanup.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const projectUri = path.resolve(__dirname, '../fixtures/clone-cleanup.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 test('clone-cleanup', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/complex.js b/test/integration/complex.js
index a99d6b8d1..4ae5de48d 100644
--- a/test/integration/complex.js
+++ b/test/integration/complex.js
@@ -2,11 +2,11 @@ const fs = require('fs');
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const projectUri = path.resolve(__dirname, '../fixtures/complex.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 const spriteUri = path.resolve(__dirname, '../fixtures/sprite.json');
 const sprite = fs.readFileSync(spriteUri, 'utf8');
diff --git a/test/integration/control.js b/test/integration/control.js
index 4f5a06554..eb3108365 100644
--- a/test/integration/control.js
+++ b/test/integration/control.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/control.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('control', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/data.js b/test/integration/data.js
index ed62e572c..297ea5de0 100644
--- a/test/integration/data.js
+++ b/test/integration/data.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/data.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('data', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/event.js b/test/integration/event.js
index 6f14cc49a..d64e30003 100644
--- a/test/integration/event.js
+++ b/test/integration/event.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/event.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('event', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/hat-execution-order.js b/test/integration/hat-execution-order.js
index a6ef5304f..78f2bef27 100644
--- a/test/integration/hat-execution-order.js
+++ b/test/integration/hat-execution-order.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const projectUri = path.resolve(__dirname, '../fixtures/hat-execution-order.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 test('complex', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/hat-threads-run-every-frame.js b/test/integration/hat-threads-run-every-frame.js
index fa21aa379..8a80ef761 100644
--- a/test/integration/hat-threads-run-every-frame.js
+++ b/test/integration/hat-threads-run-every-frame.js
@@ -1,13 +1,13 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 const Thread = require('../../src/engine/thread');
 const Runtime = require('../../src/engine/runtime');
 
 const projectUri = path.resolve(__dirname, '../fixtures/loudness-hat-block.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 const checkIsHatThread = (t, vm, hatThread) => {
     t.equal(hatThread.stackClick, false);
diff --git a/test/integration/import-sb2-from-object.js b/test/integration/import-sb2-from-object.js
index 846f645b5..8a07b3c7f 100644
--- a/test/integration/import-sb2-from-object.js
+++ b/test/integration/import-sb2-from-object.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsString = require('../fixtures/readProjectFile').readAsString;
+const extractProjectJson = require('../fixtures/readProjectFile').extractProjectJson;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/default.sb2');
-const project = JSON.parse(readAsString(uri));
+const project = JSON.parse(extractProjectJson(uri));
 
 test('default', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/import_sb2.js b/test/integration/import_sb2.js
index 70fd478a2..61da01102 100644
--- a/test/integration/import_sb2.js
+++ b/test/integration/import_sb2.js
@@ -1,7 +1,7 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsString = require('../fixtures/readProjectFile').readAsString;
+const extractProjectJson = require('../fixtures/readProjectFile').extractProjectJson;
 
 const renderedTarget = require('../../src/sprites/rendered-target');
 const runtime = require('../../src/engine/runtime');
@@ -15,7 +15,7 @@ test('spec', t => {
 test('default', t => {
     // Get SB2 JSON (string)
     const uri = path.resolve(__dirname, '../fixtures/default.sb2');
-    const file = readAsString(uri);
+    const file = extractProjectJson(uri);
     const json = JSON.parse(file);
 
     // Create runtime instance & load SB2 into it
diff --git a/test/integration/looks.js b/test/integration/looks.js
index 0ce296ca0..63999d379 100644
--- a/test/integration/looks.js
+++ b/test/integration/looks.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/looks.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('looks', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/monitor-threads-run-every-frame.js b/test/integration/monitor-threads-run-every-frame.js
index 310404797..cebd73142 100644
--- a/test/integration/monitor-threads-run-every-frame.js
+++ b/test/integration/monitor-threads-run-every-frame.js
@@ -1,13 +1,13 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 const Thread = require('../../src/engine/thread');
 const Runtime = require('../../src/engine/runtime');
 
 const projectUri = path.resolve(__dirname, '../fixtures/default.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 const checkMonitorThreadPresent = (t, threads) => {
     t.equal(threads.length, 1);
diff --git a/test/integration/motion.js b/test/integration/motion.js
index 909ce50ed..67839385d 100644
--- a/test/integration/motion.js
+++ b/test/integration/motion.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/motion.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('motion', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/pen.js b/test/integration/pen.js
index 1164825b4..0045854a7 100644
--- a/test/integration/pen.js
+++ b/test/integration/pen.js
@@ -7,10 +7,10 @@ const VirtualMachine = require('../../src/index');
 const dispatch = require('../../src/dispatch/central-dispatch');
 
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 
 const uri = path.resolve(__dirname, '../fixtures/pen.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 // By default Central Dispatch works with the Worker class built into the browser. Tell it to use TinyWorker instead.
 dispatch.workerClass = Worker;
diff --git a/test/integration/procedure.js b/test/integration/procedure.js
index 673e06ec4..c738c3245 100644
--- a/test/integration/procedure.js
+++ b/test/integration/procedure.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/procedure.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('procedure', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/saythink-and-wait.js b/test/integration/saythink-and-wait.js
index ed490d0f4..9b42e8ee6 100644
--- a/test/integration/saythink-and-wait.js
+++ b/test/integration/saythink-and-wait.js
@@ -2,12 +2,12 @@ const Worker = require('tiny-worker');
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 const dispatch = require('../../src/dispatch/central-dispatch');
 
 const uri = path.resolve(__dirname, '../fixtures/saythink-and-wait.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 // By default Central Dispatch works with the Worker class built into the browser. Tell it to use TinyWorker instead.
 dispatch.workerClass = Worker;
diff --git a/test/integration/sensing.js b/test/integration/sensing.js
index 7b6869515..9deece625 100644
--- a/test/integration/sensing.js
+++ b/test/integration/sensing.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const uri = path.resolve(__dirname, '../fixtures/sensing.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 test('sensing', t => {
     const vm = new VirtualMachine();
diff --git a/test/integration/sound.js b/test/integration/sound.js
index 61bc5d473..8ba9e666c 100644
--- a/test/integration/sound.js
+++ b/test/integration/sound.js
@@ -2,12 +2,12 @@ const Worker = require('tiny-worker');
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 const dispatch = require('../../src/dispatch/central-dispatch');
 
 const uri = path.resolve(__dirname, '../fixtures/sound.sb2');
-const project = readAsBuffer(uri);
+const project = readFileToBuffer(uri);
 
 // By default Central Dispatch works with the Worker class built into the browser. Tell it to use TinyWorker instead.
 dispatch.workerClass = Worker;
diff --git a/test/integration/stack-click.js b/test/integration/stack-click.js
index b036aec5c..4a1aa82a4 100644
--- a/test/integration/stack-click.js
+++ b/test/integration/stack-click.js
@@ -1,11 +1,11 @@
 const path = require('path');
 const test = require('tap').test;
 const makeTestStorage = require('../fixtures/make-test-storage');
-const readAsBuffer = require('../fixtures/readProjectFile').readAsBuffer;
+const readFileToBuffer = require('../fixtures/readProjectFile').readFileToBuffer;
 const VirtualMachine = require('../../src/index');
 
 const projectUri = path.resolve(__dirname, '../fixtures/stack-click.sb2');
-const project = readAsBuffer(projectUri);
+const project = readFileToBuffer(projectUri);
 
 /**
  * stack-click.sb2 contains a sprite at (0, 0) with a single stack
diff --git a/test/unit/serialization_sb2.js b/test/unit/serialization_sb2.js
index 43a3cf02f..356e9d2d8 100644
--- a/test/unit/serialization_sb2.js
+++ b/test/unit/serialization_sb2.js
@@ -1,6 +1,6 @@
 const path = require('path');
 const test = require('tap').test;
-const readAsString = require('../fixtures/readProjectFile').readAsString;
+const extractProjectJson = require('../fixtures/readProjectFile').extractProjectJson;
 
 const RenderedTarget = require('../../src/sprites/rendered-target');
 const Runtime = require('../../src/engine/runtime');
@@ -15,7 +15,7 @@ test('spec', t => {
 test('default', t => {
     // Get SB2 JSON (string)
     const uri = path.resolve(__dirname, '../fixtures/default.sb2');
-    const file = readAsString(uri);
+    const file = extractProjectJson(uri);
     const json = JSON.parse(file);
 
     // Create runtime instance & load SB2 into it
@@ -55,7 +55,7 @@ test('default', t => {
 test('data scoping', t => {
     // Get SB2 JSON (string)
     const uri = path.resolve(__dirname, '../fixtures/data.sb2');
-    const file = readAsString(uri);
+    const file = extractProjectJson(uri);
     const json = JSON.parse(file);
 
     // Create runtime instance & load SB2 into it
@@ -72,7 +72,7 @@ test('data scoping', t => {
 test('whenclicked blocks imported separately', t => {
     // This sb2 fixture has a single "whenClicked" block on both sprite and stage
     const uri = path.resolve(__dirname, '../fixtures/when-clicked.sb2');
-    const file = readAsString(uri);
+    const file = extractProjectJson(uri);
     const json = JSON.parse(file);
 
     // Create runtime instance & load SB2 into it