Fix migration to be internally consistent
Visual updates, making switching between data types work
Break factories out into a separate module
Add data-generating script
Merge branch 'add-data-generator' into top-call-types

* add-data-generator:
  Add data-generating script
  Break factories out into a separate module
  Fix migration to be internally consistent
Add basic tests