func (system *System) Migrate() error {
    var err error
    return system.VisitEnginesE(func(engine Engine) error {
        // only if Engine is migratable
        if m, ok := engine.(Migratable); ok {