created event bus
repositories DRYed and now publishes events to event bus after saving them.
forum view