This class exists for the sole purpose of getting its destructor called when the module unloads. Before the module is done unloading, we need to delete the RobotBase derived singleton. This should delete the other remaining singletons that were registered. This should also stop all tasks that are using the Task class.