Helps you migrate your data between versions of your app
Migrator uses semantic versions to help you migrate the data in your software.
Simply define your migration approach as functions, save them in
Migrator objects, and dump them in the
MigrationEngine. When you're ready to go, all you have to do is call
performMigration with the previous & new version of the software, and it'll take care of the rest.
Migrations are performed in parallel in the background with updates published via a Combine
Publisher, so you can present whatever UI you want while migration is underway.