As a potential follow-up:
I would consider not assigning the base type to some/all PFAV tasks in the future. Then these tasks would be handled by a separate logic (like the e-taxi charging task).
Probably refactoring (mainly splitting into smaller components) the default TaxiScheduler would also simplify PFAVScheduler (this was not so critical for e-taxi, but here the logic is much more different from the standard taxi).
Adapt to introduction of base types in taxi.
As a potential follow-up: I would consider not assigning the base type to some/all PFAV tasks in the future. Then these tasks would be handled by a separate logic (like the e-taxi charging task).
Probably refactoring (mainly splitting into smaller components) the default
TaxiScheduler
would also simplifyPFAVScheduler
(this was not so critical for e-taxi, but here the logic is much more different from the standard taxi).