/// <summary>
    /// The call at the ui level
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void AddFeedMenuItem_OnClick(object sender, RoutedEventArgs e)
    {
      // Get user input
      AddFeedWindow addFeedWindow = new AddFeedWindow();
      addFeedWindow.ShowDialog();

      if (addFeedWindow.DialogResult == true)
      {
        // Create feed and and add it to the engine
        Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2, UpdateListCallBack, TaskScheduler.FromCurrentSynchronizationContext());
        Subscriptions.AddFeed(newFeed);

        newFeed.treeViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption));

        // Add to UI
        ContentTreeView.Items.Add(newFeed.treeViewItem);
      }
    }
    private void AddFeedItem(object sender, RoutedEventArgs e)
    {
      //this is NOT a good way to do this 
      TreeViewItem parent = ContentTreeView.SelectedItem as TreeViewItem;

      if (parent != null)
      {
        AddFeedWindow addFeedWindow = new AddFeedWindow();
        addFeedWindow.ShowDialog();

        if (true == addFeedWindow.DialogResult)
        {
          Feed newFeed = new Feed(addFeedWindow.Feed.Item1, addFeedWindow.Feed.Item2, UpdateListCallBack, TaskScheduler.FromCurrentSynchronizationContext());
          newFeed.treeViewItem.ContextMenu.Items.Add(MakeContextMenuItem(RemoveGestureText, RemoveMenuOption));
          parent.Items.Add(newFeed);
        }
      }
    }