steve said almost 6 years ago on Refactoring Models :
What OO gurus would suggest is that this object's "friendship" responsibility should be slit into POROs that can send messages to the original User object and be tested independently. Is there no other PORO way to do this?