I think it would be a bit cleaner to use an index to iterate through disk_factories here.