Support migration scripts
When upgrading a configuration a user should be able to write migration scripts if needed
Migration scripts can be used to make changes to the state file before applying the new configuration
The migration scripts are committed in the repository