Refactored the performMigrateCommand so the data access for migrations is done via a repository.

Attempting to also pass more responsibility to the migration set from the command to enrich the domain model.