public void Init(EntityType type)
        {
            _entitySelection = new EntitySelection
            {
                Type        = type,
                Battlefield = Battlefield
            };

            _userDecisionSelection = new UserDecisionSelection
            {
                EntitySelection = _entitySelection,
                InputSelection  = InputSelection
            };
            _userDecisionSelection.Init();

            _entityMovement = new EntityMovement
            {
                Type               = type,
                EntitySelection    = _entitySelection,
                BreadcrumbsHandler = BreadcrumbsHandler,
                MovementResolver   = MovementResolver,
                InputSelection     = InputSelection,
                LevelDataProvider  = LevelDataProvider
            };
            _entityMovement.Init();

            _attackResolver = new AttackResolver
            {
                EntitySelection = _entitySelection,
                Battlefield     = Battlefield
            };
            _attackResolver.Init();

            _turnResolver = new TurnResolver
            {
                Type        = type,
                Battlefield = Battlefield
            };
            _turnResolver.Init();
            _turnResolver.TurnEnded += TurnResolverdEnded;
        }