public void Backup(IEnumerable <string> items, Guid backupId) { var callback = OperationContext.Current.GetCallbackChannel <IBackupServiceCallback>(); var backup = new BackupCommand { SendBackupItem = item => callback.SendBackupItem(item), SendWarningLog = message => callback.SendWarningLog(message), SendBackupComplete = callback.SendBackupCompleted }; backup.Initialize(files); backups.TryAdd(backupId, backup); backup.RunBackup(items); }