public ProfileEditorViewModel(MainManager mainManager, EffectModel gameModel, ProfileViewModel profileViewModel,
MetroDialogService dialogService, string lastProfile, ILayerEditorVmFactory layerEditorVmFactory)
{
_mainManager = mainManager;
_gameModel = gameModel;
_layerEditorVmFactory = layerEditorVmFactory;
Profiles = new BindableCollection<ProfileModel>();
Layers = new BindableCollection<LayerModel>();
ProfileViewModel = profileViewModel;
DialogService = dialogService;
LastProfile = lastProfile;
PropertyChanged += EditorStateHandler;
ProfileViewModel.PropertyChanged += LayerSelectedHandler;
mainManager.DeviceManager.OnKeyboardChangedEvent += DeviceManagerOnOnKeyboardChangedEvent;
_saveTimer = new Timer(5000);
_saveTimer.Elapsed += ProfileSaveHandler;
LoadProfiles();
}