In business programming, this is where dependency injection / service location comes into the picture.
Gameplay ability systems generally give you a service location mechanism to help with this, for finding "abilities". Which is why there's such a pressure in those contexts to Ability-ify All The Things. Which I also don't super like.
It moves you from coding against the problem to mapping your problem into The Model.