Has-a beats is-aintermediate
A hierarchy puts every object in one position on one line, so the first person who needs abilities from two branches has nowhere to go and starts copying.
A hierarchy with no room for a Contractor who approves leave but is not a Manager.
Abilities combine freely at runtime, work standalone, and a missing one is refused.
Published in full, before you start — every point is one of these and there is nothing else. Each one runs your code; it is not a search for keywords.
A hierarchy puts every object in one position on one line, so the first person who needs abilities from two branches has nowhere to go and starts copying.