This means items can be easily read, modified and written by the user, plugin and core.  To do: - [ ] How will this work with array and dictionary values? Do attributes even support this? (check all properties for tables/dicts too) - [ ] Rename Config to Configuration - [ ] Change Extensions class from Configuration to Folder (Configuration will be reserved for items with attributes) - [ ] Strongly consider removing Commands entirely from System and data saving - [ ] Learn how attributes work - [ ] Replace Configuration Module with a folder that contains folders such as 'Roles', 'Bans' and 'Settings' - [ ] Setup an attribute template for all of these (these will be a Configuration instance) OR Consider how the plugin will load new attributes - [ ] Have the plugin contain its own internal 'Config' - [ ] This is then used to build the config folder and attributes within the loader - [ ] Ensure the templates have an attribute called 'key' which points to the the original table key - [ ] The names of these config items can be anything they like (non important, dont save) - [ ] Have the Core Framework convert this data into the original module data on initialisation at runtime
This means items can be easily read, modified and written by the user, plugin and core.
To do: