make environment_context optional here, so that existing usage of the MigrationContext by itself doesnt break