decouple views with event aggregator