Если устройства типовые, то можно сделать общий класс, который будет работать с этими устройствами, а конфигурацию подгружать из файла (например, xml).
Метод copy_files() должен отдавать информацию отпрогрессе копирования путем обратного вызова функции (callback) или отправки события (event) (зависит от языка программирования)