In fact "component"-based system is a better object-oriented style than stacking your classes until the stack collapses
Loose Coupling and
Composition are two common practices to keep better code and this works pretty well with "component"-based systems...
Why should i refactor the whole world interaction of a character if i can just replace the fitting loose component with another?
But i think we should move posts related to this topic into another thread, so UE4 discussion can go on here...