this is kind of too weird. node/express code always uses the function(err, result) convention for callbacks, and here we're using the first arg both as error carrier, as well as data carrier. This should really be `function(err, result)` and then inside https://github.com/daleee/webmaker.org/blob/91dbbb27ecd898cf2bbfbb55a7591b049c6e42bb/lib/events/lib/s3.js#L23 we should have something like 
```
            s3_req.on('response', function(response) {
              if (response.statusCode === 200) {
                cb(null, {response: response, filename: filename});
              }
              else {
                cb({response);
              }
            });
```