Each element has two functions which are used for construction of an
which is used to initialise the class only once (specifying what signals,
arguments and virtual functions the class has and setting up global
state); and the
_init() function, which is used to
initialise a specific instance of this type.