オブジェクト指向はどこへ結びつくのか?

オブジェクト指向プログラミング(OOP)はとやかく歴史的な経緯と誤解によって様々な解釈が入る概念です。
人それぞれのOOPが出来上がっていますが実際のところ、なにに役立つのだろう?オブジェクト指向が結びつく先はどこなのか?そんなことをたまに考えます。
最近のぼくの考えでは「プラガバルなデータ構造を実現できることにOOPの意味がある」となっています。
プラガバルとはおそらくplugin + ableの造語です。「取り外し可能」とかそんな意味です。ちなみにこの言葉はSmalltalkで有名な青木 淳さんの日系バイトの連載で知りました。
その連載では「プラガバルMVC」を説明して、「View-Controllerの関係さえしっかりしてればModelは取り外し可能なんだよ」とぼくの記憶してる限りでは書いてあって、当時ジュンク堂で雑誌を立ち読みしながら、なるほど、と思いました。
オブジェクト指向ではとやかく部品化とか抽象化とか言われますが結局はこのプラガバルなデータ構造を作るということへ結びついてるように考えるようになりました。
プラガバルなデータ構造であることで、オブジェクトは自由に入れ替わることができて自分の仕事をこなせるようになるのです。
初っ端からOOPについてカプセル化とか継承とかポリモルフィズムとかから説明されるよりもよっぽどかわかりやすい気がします。
逆に、このプラガバルに結びつかないOOPは疑ってかかるようになりました。例えばデザインパターンで言うと、FactoryMethodやStateはデータ型を抽象化することでプラガバルに結びつくがSingltonはただコンストラクタをprivateにしてインスタンスの生成を抑えてるだけで怪しいな、みたいな感じです。
世間ではとやかくオブジェクト指向というキーワードさえ並べておけば良いんだろ?と思えるような記事をたくさん見かけますが、「それはプラガバルであるか?」という視点を持つことでそれなりに適正な見分け方ができるようになると、ぼくは思ってます。
もちろん、個人的な意見なので異論は多々あると思いますが。