Create a FeedItem model for the User which is responsible for populating his newsfeed
The FeedItem is a simple pseudo-join model between a User and the
Events he needs to see in his newsfeed. By having it in a seperate
table we can use it as an index of sorts to figure out which events he
needs to see.
The FeedItems are populated in a bulk manner after an Event is created
by figuring out who watches (through Favorite) the object the Event
belong to. The FeedItem not only makes the finding of watched events
faster, it also allows us to insert things into the event that we
cannot do through a straight join between favorites and events.