There are several issues with the current ComposableController implementation that should be addressed before further updates are made to the controller (e.g. #3627).
- Remove
#controllers class field, which is not being updated by #updateChildController or anywhere else.
- Removing this makes it clear that the list of child controllers to be composed is determined at class instantiation and cannot be altered later.
- This behavior is consistent with
#updateChildController being a private method.
- Type BaseController, ComposableController state with
Record<string, Json>
- Add a
isBaseController type guard.
- Remove the deprecated
subscribed property from BaseController.