#317 Created AssignmentStore file.

I haven't manually tested this nor have I written the Jest tests for this yet, but I wanted to submit this first just break up the diffs into smaller pieces. I'll probably write the Jest test next.
Dangerous thing with having expectations in callbacks is that if they're not called... the test passes. You have to assert that the callback was called. There are a couple of ways to do that.
```js
var calls;
foo(function() {
  calls++;
  // My expectations here...
});
expect(calls).toBe(1)
```
Alternatively:
```js
var cb = jest.genMockFunction().mockImplementation(function() {
  // My expectations here...
});

foo(cb);
expect(cb).toBeCalled();
```