Creating a library-draggable GUI class

I want to be able to create a class that has no GUI (i.e. is not subclassed from any control) but that will appear in the Library and can be dragged onto a window to create an instance that can be modified via the Inspector, have any events declared by the class added, etc. e.g. like Timer, etc.

I know you can do this by dragging a Generic Object onto a window, and then changing its Super to your class name, but I’m trying to avoid the two-step process. Is there not some mystery built-in class that I can inherit from and make this a one step process?

It seems that I might’ve asked this question in the distant past, and the answer was “no”, but here’s hoping…

Why does dragging a class directly from the Navigator to a window not work for you?

In a large project there would be issues with the class definition and the target window being a long distance apart in the Navigator, and there might be an issue finding the target window definition. I suppose one could create a separate Workspace window and do the dragging between the two Workspaces (?), but it’s just inconvenient.

What I would like to know, effectively, is what special sauce makes a class such as Timer appear in the Library?

My understanding is: It’s internal IDE or Plugin-Registration.