Updated ControllerAgent with recovery behaviour