How to merge two single operator to one?

Hallo!
I am really a noobie at creating functional addons.
and need some help to merge two single operator to one.
It is a simple if else function (i think), but i don´t really understood to do it by myself.
I want to enable and disable an user addon in my custom panel directly.

here my experience:



import bpy

#two singel operator/ they works fine!
class E_Operator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "enable.operator"
    bl_label = "Enable"

    def execute(self, context):
        bpy.ops.wm.addon_enable(module="wkst_extra_objects")
        return {'FINISHED'}
    
class D_Operator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "disable.operator"
    bl_label = "Disable"

    def execute(self, context):
        bpy.ops.wm.addon_disable(module="wkst_extra_objects")        
        return {'FINISHED'}
    
    
# want one operator / how to define the module name (addon) name?
class Operator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.operator"
    bl_label = "Object Operator"


    def execute(self, context):

        module_name = 'wkst_extra_objects'
        is_enabled = module_name

        if is_enabled:
            bpy.ops.wm.addon_disable(module="wkst_extra_objects")        
        else:
            bpy.ops.wm.addon_enable(module="wkst_extra_objects")

        return {'FINISHED'}


# panel for operator
class Panel(bpy.types.Panel):
    """Creates a Panel"""
    bl_label = "Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'VIEW_3D'
    #bl_region_type = 'TOOLS'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout
        
        #two singel operator / works fine!
        row = layout.row()
        row.operator("disable.operator", icon='WORLD_DATA')
        row.operator("enable.operator", icon='WORLD_DATA')

        
        # want one operator_var_1/ how to define the module name (addon) name?
        row = layout.row()
        row.operator("object.operator", icon='WORLD_DATA')
        
        # want one operator_var_2/ how to define the module name (addon) name?
        row = layout.row()
        module_name = 'wkst_extra_objects'
        is_enabled = module_name
        
        if is_enabled:
            row.operator("wm.addon_disable", icon='CHECKBOX_HLT', text="Extra Objects", emboss=False).module = module_name
        else:
            row.operator("wm.addon_enable", icon='CHECKBOX_DEHLT', text="Extra Objects", emboss=False).module = module_name


##########################
def register():
    bpy.utils.register_class(Panel)    
    bpy.utils.register_class(E_Operator)
    bpy.utils.register_class(D_Operator)
    bpy.utils.register_class(Operator)


def unregister():
    bpy.utils.unregister_class(Panel)    
    bpy.utils.unregister_class(E_Operator)
    bpy.utils.unregister_class(D_Operator)
    bpy.utils.unregister_class(Operator)


if __name__ == "__main__":
    register()



Thank you mano-wii,

i will try to figure it out…