package sourcecoded.core.configuration.gui;

import cpw.mods.fml.client.config.GuiConfig;
import net.minecraft.client.gui.GuiScreen;
import sourcecoded.core.configuration.SCConfigManager;

public class SourceConfigBaseGui extends GuiConfig {

    public SourceConfigBaseGui(GuiScreen parentScreen) {
        super(parentScreen, SourceConfigGuiFactory.createElements(SCConfigManager.getConfig()), "sourcecodedcore", false, false, "SourceCodedCore");
    }

}

@@ -244,207 +244,519 @@
     
-public SourceConfigBaseGui(GuiScreen parentScreen) %7B%0A        super(parentScreen, SourceConfigGuiFactory.createElements(SCConfigManager.getConfig()), %22sourcecodedcore%22, false, false, %22SourceCodedCore%22
+static String modid;%0A    static String name;%0A    static SourceConfig config;%0A    static List%3CIConfigElement%3E elements;%0A%0A    public SourceConfigBaseGui(GuiScreen parentScreen) %7B%0A        super(parentScreen, elements, modid, false, false, modid);%0A    %7D%0A    %0A    public static void injectGuiContext(SourceConfigGuiFactory factory) %7B%0A        this.modid = factory.modid;%0A        this.name = this.modid;%0A        this.config = factory.config;%0A        this.elements = SourceConfigGuiFactory.createElements(factory.config
 );%0A 

Update BaseGui to use contexts