public MomentumBasedControllerFactory(ContactableBodiesFactory contactableBodiesFactory, SideDependentList<String> footForceSensorNames,
SideDependentList<String> footContactSensorNames, SideDependentList<String> wristSensorNames, WalkingControllerParameters walkingControllerParameters,
ArmControllerParameters armControllerParameters, CapturePointPlannerParameters capturePointPlannerParameters, HighLevelState initialBehavior)
{
this.footSensorNames = footForceSensorNames;
this.footContactSensorNames = footContactSensorNames;
this.wristSensorNames = wristSensorNames;
this.contactableBodiesFactory = contactableBodiesFactory;
this.initialBehavior = initialBehavior;
this.walkingControllerParameters = walkingControllerParameters;
this.capturePointPlannerParameters = capturePointPlannerParameters;
commandInputManager = new CommandInputManager(ControllerAPIDefinition.getControllerSupportedCommands());
statusOutputManager = new StatusMessageOutputManager(ControllerAPIDefinition.getControllerSupportedStatusMessages());
managerFactory = new HighLevelControlManagerFactory(statusOutputManager, registry);
managerFactory.setArmControlParameters(armControllerParameters);
managerFactory.setCapturePointPlannerParameters(capturePointPlannerParameters);
managerFactory.setWalkingControllerParameters(walkingControllerParameters);
}