Component: Added finalize() method for cleaner shutdown of components. Unregistration in virtual destructors might lead to situations in which the child object is already deconstructed but still used before the parent's destructor unregisters the object.