def __init__(self, *args, **kwargs): """ :param kwargs['structure']: FeaturesTree Class """ self.DataPort = DataPortFiniteStateMachine( structure=kwargs['structure']) self.ProgressQueue = kwargs.get('progress_queue') self.DataAnatomy = DataAnatomyFiniteStateMachine() self.Economization = EconomizeFiniteStateMachine() self.Com = CommandsFiniteStateMachine() self.StatesCollector = StatesCollector() self.InterpretState = InterpretState(collector=self.StatesCollector), self.WriteState = WriteState(collector=self.StatesCollector), self.SaveState = SaveState(collector=self.StatesCollector), self.RemoveState = RemoveState(collector=self.StatesCollector), self.MBC = MBC(value=[1, 0, 0, 0], watch=self.StatesCollector) self.command = self.initial_state()