Best way to collect and show updates from any Model

Hello friends,

Could you please point me to any extension or behaviour or maybe just logic to implement facebook-like news wall.

I mean I need to collect updates from any Model ( like adding photo, commenting posts, adding post, likes, etc…), then to filter them accordingly to user privacy settings, users friends, users interests.

Thank you