It is frustrating that almost all discussion of software component abstraction is always predicated on object orientation. Object orientation is a flawed idea that makes software over-plumbed, slow, and rigid. But component abstraction are still very valuable, without treating indirect control authority as a primary goal.