Ice requires a lot of things to be true about your system that it has no control over. It needs access to the config files, it needs them to be writable, it needs the ROMs directory to exist, it needs you to have emulators/consoles configured, etc.
Create a new object whose entire job is to validate these things. It may need to be broken down into smaller objects later, but for now just to consolidate validation logic will be awesome, as opposed to doing it all over the place like we currently do.
Ice requires a lot of things to be true about your system that it has no control over. It needs access to the config files, it needs them to be writable, it needs the ROMs directory to exist, it needs you to have emulators/consoles configured, etc.
Create a new object whose entire job is to validate these things. It may need to be broken down into smaller objects later, but for now just to consolidate validation logic will be awesome, as opposed to doing it all over the place like we currently do.