In order to implement widgets that are a subclass of QWidget only, there is a need to define an abstract QCustomWidget class that contains concrete methods that must be implemented so that the class interacts correctly with the methods in the FormDialog and UIFormWidget classes. This would serve as a template for all future widgets that inherit from QWidget.
The abstract class could include a factory method that creates an object that already includes the required methods. This would ensure robust interactions for all future widgets that subclass QWidget.
See also #125, #173, #174