public void Init(Dictionary <Guid, int> manipulatableDimensions, List <IAction> actions, List <ISoul> soul) { if (actions.Count == 0) { throw new ArgumentException("need at least one action"); } _decisionMaker.Init(actions); _sequenceMaker.Init(actions, manipulatableDimensions); _souls = soul; _currentAction = actions[0]; }