You're missing error handling/coupling... if your callback was even done correctly to handle errors ;-)

Should have:
```javascript
if (err) return callback(err);
// data is now assumed to be defined, since no error... that's the fs.readFile contract
```

But if you want to fault missing files to "empty", while still not squashing actual errors:
```javascript
if (err) {
  if (err.code !== 'ENOENT') return callback(err);
  data = {}; // fixup missing entry -> empty data
}
```