def METHOD_NAME(self, modifier):
    """This draws our lookalike modifier template and returns a UILayout object for each modifier
       to consume in order to draw its specific properties"""
    layout = self.layout.box()
    # This is the main title row. It mimics the Blender template_modifier, which (unfortunately)
    # requires valid Blender Modifier data. It would be nice if the Blender UI code were consistently
    # C or Python and not a frankenstein mix. I would probably prefer working in C, just because
    # the compiler saves my neck 99.9% of the time...</rant>
    row = layout.row(align=True)
    exicon = "TRIA_DOWN" if modifier.show_expanded else "TRIA_RIGHT"
    row.prop(modifier, "show_expanded", text="", icon=exicon, emboss=False)
    row.label(text=modifier.bl_label, icon=getattr(modifier, "bl_icon", "NONE"))
    row.operator("object.plasma_modifier_move_up", text="", icon="TRIA_UP").active_modifier = modifier.display_order
    row.operator("object.plasma_modifier_move_down", text="", icon="TRIA_DOWN").active_modifier = modifier.display_order
    row.operator("object.plasma_modifier_copy", text="", icon="COPYDOWN").active_modifier = modifier.display_order
    row.operator("object.plasma_modifier_reset", text="", icon="FILE_REFRESH").active_modifier = modifier.display_order
    row.operator("object.plasma_modifier_remove", text="", icon="X").active_modifier = modifier.display_order
    # Now we return the modifier box, which is populated with the modifier specific properties
    # by whatever insanity is in the modifier module. modifier modifier modifier...
    # MODDDDDDDDIFIIIIEEEERRRRRRRR!!!
    return layout