/// <summary>
        /// Initializes a new instance of the <see cref="TaskbarNotificationManager"/> class.
        /// </summary>
        public TaskbarNotificationManager()
        {
            // Configure Taskbar icon
            TaskbarIcon = new TaskbarIcon
              	{
                    Icon = icon,
              		ToolTipText = "Inbox2 desktop"
              	};
            TaskbarIcon.TrayLeftMouseUp += TaskbarIcon_TrayLeftMouseUp;

            // Subscribe for events
            EventBroker.Subscribe(AppEvents.ReceiveFinished, () => Thread.CurrentThread.ExecuteOnUIThread(ShowNotifyBalloon));
            EventBroker.Subscribe(AppEvents.SyncFinished, () => Thread.CurrentThread.ExecuteOnUIThread(ShowNotifyBalloon));
        }
        /// <summary>
        /// A static helper method to raise the BalloonShowing event on a target element.
        /// </summary>
        /// <param name="target">UIElement or ContentElement on which to raise the event</param>
        /// <param name="source">The <see cref="TaskbarIcon"/> instance that manages the balloon.</param>
        internal static RoutedEventArgs RaiseBalloonShowingEvent(DependencyObject target, TaskbarIcon source)
        {
            if (target == null) return null;

            RoutedEventArgs args = new RoutedEventArgs(BalloonShowingEvent, source);
            RoutedEventHelper.RaiseEvent(target, args);
            return args;
        }
 /// <summary>
 /// Sets the ParentTaskbarIcon property.  This dependency property 
 /// indicates ....
 /// </summary>
 public static void SetParentTaskbarIcon(DependencyObject d, TaskbarIcon value)
 {
     d.SetValue(ParentTaskbarIconProperty, value);
 }