private static void OnComponentActivated(object sender, ActivatedEventArgs <object> args)
        {
            if (args == null)
            {
                return;
            }
            IHandle handler;

            if ((handler = (args.get_Instance() as IHandle)) == null)
            {
                return;
            }
            ILifetimeScope   lifetimeScope   = ResolutionExtensions.Resolve <ILifetimeScope>(args.get_Context());
            IEventAggregator eventAggregator = ResolutionExtensions.Resolve <IEventAggregator>(lifetimeScope);

            eventAggregator.Subscribe(handler);
            EventAggregationAutoSubscriptionModule.DisposableAction disposableAction = new EventAggregationAutoSubscriptionModule.DisposableAction(delegate
            {
                eventAggregator.Unsubscribe(handler);
            });
            lifetimeScope.get_Disposer().AddInstanceForDisposal(disposableAction);
        }