code: public void step () {
  		if (rootTask.status == Status.RUNNING) {
  			rootTask.run();
  		} else {
  			rootTask.setControl(this);
  			rootTask.start();
  			if (rootTask.checkGuard(this))
  				rootTask.run();
  			else
  				rootTask.fail();
  		}
  	}
docs: This method should be called when game entity needs to make decisions: call this in game loop or after a fixed time slice if
  the game is real-time, or on entity's turn if the game is turn-based