Index LiveComponentRegister_RemoveOneComponentsEntry( void* liveComponentRegister, Name name ) {
   LiveComponentRegister* self = (LiveComponentRegister*)liveComponentRegister;
   assert( self );

   /* 
    * Note: as specified in the header, we don't want to actually delete the component, 
    * just the entry.
    */
   return Stg_ObjectList_Remove( self->componentList, name, KEEP );
}
Bool _ToolboxesManager_UnloadToolbox( void* toolboxesManager, Module* toolbox ) {
    ToolboxesManager* self = (ToolboxesManager*)toolboxesManager;

    if( Stg_ObjectList_Get( self->initTB, toolbox->name ) ) {
        ((Toolbox*)toolbox)->Finalise( self );

        /* remove the toolbox from the initTB list, but don't actually Delete it's memory */
        Stg_ObjectList_Remove( self->initTB, toolbox->name, KEEP );
    }

    if( self->initTB && self->initTB->count == 0 ) {
        Stg_Class_Delete( self->initTB );
        self->initTB = NULL;
    }

    return True;
}