Well, currently I'm using GuiBitmapButtonCtrl::onMouseEnter because when I use GuiMouseEventCtrl on the buttons for the main menu, the buttons cannot be clicked on.
I know using names is a lot better, but if you had a lot of names but had to use something like this, it's a lot of writing (laziness).
Also, I just did what you said with the current support code, but adding a parent at the end, it doesn't even call the onMouseEnter for the start button, but for the rest of the buttons, they work. (Doesn't make any sense, I'm still thinking about the GuiControl -> Gui class types -> Name function it calls)
if(!isFunction(MM_StartButton, onMouseEnter))
eval("function MM_StartButton::onMouseEnter(%a, %b, %c, %d){echo(\"function called, but is the main called?\");}");
(packaged) - MM_StartButton does not call this because it already has its own function
function GuiBitmapButtonCtrl::onMouseEnter(%this, %modifier, %mousePoint, %mouseClickCount)
{
if(!%this.isAwake())
return;
if(isFunction("mEventHandler_" @ %this.eventType @ "_onMouseEnter"))
call("mEventHandler_" @ %this.eventType @ "_onMouseEnter", %this, %modifier, %mousePoint, %mouseClickCount);
Parent::onMouseEnter(%this, %modifier, %mousePoint, %mouseClickCount);
}