In favour of a simpler 'flags' system for in user interface emulator configuration, the ConfigurationTemplate API has been stripped down to become a lower-level abstraction for advanced users to use. There are no more explicit types, rather types will be inferred. Custom types are abolished, as due to the advanced nature of profiles, will assume that the user can validate input. Instead of using ConfigurationTemplates and exposing most if not all options of an emulation, instead Snowflake will use the defaults to transparently build the configuration. Advanced users will be able to make Snowflake load a custom profile and will generate the configuration from such instead. Regular users will be able to manipulate simple flags, such as a selection of shaders, or whether to run in fullscreen or windowed mode. The configuration compiler in the emulator core will apply these to the profile after the fact, before compiling the configuration. Configuration flags will be part of the Emulator API, whereas the ConfigurationTemplate API is separate. Flags can be as simple or as complex as they need to be, however ConfigurationTemplates should expose the entire configuration of an emulator.