Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/DataGridContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/DataGridContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/DataGridContent.cs	(revision 10614)
@@ -29,8 +29,9 @@
 
   [Item("DataGrid", "Represents a data grid.")]
-  public class DataGridContent : Item, IDataGridContent {
+  public class DataGridContent : Item, IViewShortcut, IDataGridContent {
 
     private readonly IDataGridLogic dataGridLogic;
     private readonly IManipulationLogic preprocessingDataManipulation;
+
     public DataGridContent(IDataGridLogic theDataGridLogic, IManipulationLogic thePreprocessingDataManipulation) {
       dataGridLogic = theDataGridLogic;
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/FilterContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/FilterContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/FilterContent.cs	(revision 10614)
@@ -26,5 +26,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("Filter", "Represents the filter grid.")]
-  public class FilterContent : Item {
+  public class FilterContent : Item, IViewShortcut {
 
     public static new Image StaticItemImage {
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/HistogramContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/HistogramContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/HistogramContent.cs	(revision 10614)
@@ -26,5 +26,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("Histogram", "Represents the histogram grid.")]
-  public class HistogramContent : Item {
+  public class HistogramContent : Item, IViewShortcut {
 
     private readonly IHistogramLogic histogramLogic;
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/LineChartContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/LineChartContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/LineChartContent.cs	(revision 10614)
@@ -26,5 +26,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("LineChart", "Represents the line chart grid.")]
-  public class LineChartContent : Item {
+  public class LineChartContent : Item, IViewShortcut {
 
     private readonly ILineChartLogic lineChartLogic;
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingContext.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingContext.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/PreprocessingContext.cs	(revision 10614)
@@ -31,4 +31,14 @@
     : Item, IPreprocessingContext {
 
+    public ITransactionalPreprocessingData Data { get; private set; }
+
+    public ViewShortcutCollection ViewShortcuts { get; private set; }
+
+    public IDataAnalysisProblemData DataAnalysisProblemData { get; private set; }
+
+    public IAlgorithm Algorithm { get; private set; }
+
+    public IDataAnalysisProblem Problem { get; private set; }
+
     public PreprocessingContext(IDataAnalysisProblemData dataAnalysisProblemData, IAlgorithm algorithm, IDataAnalysisProblem problem) {
       Data = new TransactionalPreprocessingData(dataAnalysisProblemData);
@@ -36,4 +46,22 @@
       Algorithm = algorithm;
       Problem = problem;
+
+      var searchLogic = new SearchLogic(Data);
+      var dataGridLogic = new DataGridLogic(Data);
+      var statisticsLogic = new StatisticsLogic(Data, searchLogic);
+      var manipulationLogic = new ManipulationLogic(Data, searchLogic, statisticsLogic);
+      var transformationLogic = new TransformationLogic(Data, searchLogic, statisticsLogic);
+      var lineChartLogic = new LineChartLogic(Data);
+      var histogramLogic = new HistogramLogic(Data);
+      var filterLogic = new FilterLogic();
+
+      ViewShortcuts = new ViewShortcutCollection {
+        new DataGridContent(dataGridLogic, manipulationLogic),
+        new StatisticsContent(statisticsLogic),
+        new FilterContent(filterLogic),
+        new TransformationContent(transformationLogic),
+        new LineChartContent(lineChartLogic),
+        new HistogramContent(histogramLogic)
+      };
     }
 
@@ -45,12 +73,4 @@
       Problem = original.Problem;
     }
-
-    public ITransactionalPreprocessingData Data { get; private set; }
-
-    public IDataAnalysisProblemData DataAnalysisProblemData { get; private set; }
-
-    public IAlgorithm Algorithm { get; private set; }
-
-    public IDataAnalysisProblem Problem { get; private set; }
 
     public override IDeepCloneable Clone(Cloner cloner) {
@@ -65,7 +85,9 @@
       }
     }
-
     public IProblem ExportProblem() {
       return Export(Problem, SetupProblem);
+    }
+    public IAlgorithm ExportAlgorithm() {
+      return Export(Algorithm, SetupAlgorithm);
     }
 
@@ -73,16 +95,9 @@
       return (IDataAnalysisProblem)problem;
     }
-
-    public IAlgorithm ExportAlgorithm() {
-      return Export(Algorithm, SetupAlgorithm);
-    }
-
     private IDataAnalysisProblem SetupAlgorithm(IAlgorithm algorithm) {
       algorithm.Name = algorithm.Name + "(Preprocessed)";
       algorithm.Runs.Clear();
-
       return (IDataAnalysisProblem)algorithm.Problem;
     }
-
     private T Export<T>(T original, Func<T, IDataAnalysisProblem> setup)
         where T : IItem {
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/StatisticsContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/StatisticsContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/StatisticsContent.cs	(revision 10614)
@@ -25,5 +25,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("Statistics", "Represents the statistics grid.")]
-  public class StatisticsContent : Item {
+  public class StatisticsContent : Item, IViewShortcut {
 
     private readonly IStatisticsLogic statisticsLogic;
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/TransformationContent.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/TransformationContent.cs	(revision 10613)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/TransformationContent.cs	(revision 10614)
@@ -26,5 +26,5 @@
 namespace HeuristicLab.DataPreprocessing {
   [Item("Transformation", "Represents the transformation grid.")]
-  public class TransformationContent : Item {
+  public class TransformationContent : Item, IViewShortcut {
 
     private readonly ITransformationLogic transformationLogic;
Index: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ViewShortcutCollection.cs
===================================================================
--- branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ViewShortcutCollection.cs	(revision 10614)
+++ branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Implementations/ViewShortcutCollection.cs	(revision 10614)
@@ -0,0 +1,37 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Collections.Generic;
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.DataPreprocessing {
+  [Item("ViewShortcutCollection", "Represents a collection of ViewShortcuts.")]
+  public class ViewShortcutCollection : ItemCollection<IViewShortcut> {
+
+    protected ViewShortcutCollection(ViewShortcutCollection original, Cloner cloner) : base(original, cloner) { }
+    public ViewShortcutCollection() : base() { }
+    public ViewShortcutCollection(int capacity) : base(capacity) { }
+    public ViewShortcutCollection(IEnumerable<IViewShortcut> collection) : base(collection) { }
+
+    public override IDeepCloneable Clone(Cloner cloner) { return new ViewShortcutCollection(this, cloner); }
+  }
+}
