function ViolLua.Menu:GenerateList( Panel, Name, Update )
    -- Have to generate the list panel used by the item list.

    local DCollapsible = vgui.Create( 'DCollapsibleCategory', Panel )
    DCollapsible:SetLabel( Name )
    DCollapsible:Dock( TOP )
    DCollapsible:SetExpanded( false )
    DCollapsible:SetPaintBackground( false )
    DCollapsible:Toggle( )

    DCollapsible.SetExpanded = function( self )

    end

    DCollapsible.Paint = function( self, W, H )
        surface.SetDrawColor( 20, 20, 20, 120 )
        surface.DrawRect( 0, 0, W, H )

        if ( ViolLua.Config[ 'miscellaneous_menu_labels' ] ) then 
            self.Header:SetTextColor( ViolLua.Menu.Color )
        else
            self.Header:SetTextColor( ViolLua.Colors[ 'White' ] )
        end
        
        Update( self, Name )
    end

    self.Items.DCollapsible = DCollapsible
end

function ViolLua.Menu:GenerateListElement( Panel, Text )
    local Button = Panel:Add( Text )

    Button.Paint = function( self, W, H )
        if ( ViolLua.Items:Valid( Text ) ) then 
            self:SetTextColor( ViolLua.Menu.Color )
        elseif ( self.Depressed or self.m_bSelected ) then 
            self:SetTextColor( ViolLua.Colors[ 'White' ] )
        else 
            self:SetTextColor( ViolLua.Colors[ 'Light Gray' ] )
        end
    end
end