diff --git a/src/main/java/kieker/gui/Main.java b/src/main/java/kieker/gui/Main.java
index 2db67f8de7b992e8b3fb6afdaa5edb42b080f955..95c4361080af86cd5ef9758db3965a3e14ad73e7 100644
--- a/src/main/java/kieker/gui/Main.java
+++ b/src/main/java/kieker/gui/Main.java
@@ -16,7 +16,7 @@
 
 package kieker.gui;
 
-import kieker.gui.controller.MainViewController;
+import kieker.gui.mainview.MainViewController;
 
 /**
  * Contains the main method of this application.
diff --git a/src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java b/src/main/java/kieker/gui/common/AbstractDirectedComparator.java
similarity index 97%
rename from src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java
rename to src/main/java/kieker/gui/common/AbstractDirectedComparator.java
index e4f10fa8c04a6fd347cfb4110846fe7bd8ec040c..9f0f10e9c872a736b16e63268c6324e9f7f5bd5b 100644
--- a/src/main/java/kieker/gui/view/util/AbstractDirectedComparator.java
+++ b/src/main/java/kieker/gui/common/AbstractDirectedComparator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Comparator;
 
diff --git a/src/main/java/kieker/gui/model/AbstractProxyDataModel.java b/src/main/java/kieker/gui/common/AbstractProxyDataModel.java
similarity index 95%
rename from src/main/java/kieker/gui/model/AbstractProxyDataModel.java
rename to src/main/java/kieker/gui/common/AbstractProxyDataModel.java
index 90a15b9cc600b77c1e0febb41dcb77f9da0a4250..73185a1142befbc5832e61429605822fc0299c7b 100644
--- a/src/main/java/kieker/gui/model/AbstractProxyDataModel.java
+++ b/src/main/java/kieker/gui/common/AbstractProxyDataModel.java
@@ -1,4 +1,4 @@
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.Observable;
 import java.util.Observer;
diff --git a/src/main/java/kieker/gui/model/DataModel.java b/src/main/java/kieker/gui/common/DataModel.java
similarity index 95%
rename from src/main/java/kieker/gui/model/DataModel.java
rename to src/main/java/kieker/gui/common/DataModel.java
index 252caaf0d12521e31574f6638ad6ae81087ea742..08e5c348b4a3ef8627d9367c24f7ba4b19ed047b 100644
--- a/src/main/java/kieker/gui/model/DataModel.java
+++ b/src/main/java/kieker/gui/common/DataModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -24,10 +24,10 @@ import java.util.Observable;
 import java.util.concurrent.TimeUnit;
 
 import kieker.common.record.misc.KiekerMetadataRecord;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.model.domain.Record;
-import kieker.gui.model.importer.ImportAnalysisConfiguration;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.ImportAnalysisConfiguration;
 import teetime.framework.Analysis;
 
 /**
diff --git a/src/main/java/kieker/gui/model/IModel.java b/src/main/java/kieker/gui/common/IModel.java
similarity index 87%
rename from src/main/java/kieker/gui/model/IModel.java
rename to src/main/java/kieker/gui/common/IModel.java
index 2a5370f6ed26a2226cf96d24a3bc0efc252533d1..2510980d25829ecbc4e1de583c0ddb0a4758c992 100644
--- a/src/main/java/kieker/gui/model/IModel.java
+++ b/src/main/java/kieker/gui/common/IModel.java
@@ -1,4 +1,4 @@
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.List;
 import java.util.Observer;
diff --git a/src/main/java/kieker/gui/controller/ISubController.java b/src/main/java/kieker/gui/common/ISubController.java
similarity index 93%
rename from src/main/java/kieker/gui/controller/ISubController.java
rename to src/main/java/kieker/gui/common/ISubController.java
index 240d92e7b26612792815b670a4bb3e592e7b53d5..a3a66da525b1850a0dbe8f8b70ee990eed2c036a 100644
--- a/src/main/java/kieker/gui/controller/ISubController.java
+++ b/src/main/java/kieker/gui/common/ISubController.java
@@ -14,9 +14,8 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.common;
 
-import kieker.gui.view.ISubView;
 
 /**
  * A commons interface for all sub-controllers to reduce dependencies.
diff --git a/src/main/java/kieker/gui/view/ISubView.java b/src/main/java/kieker/gui/common/ISubView.java
similarity index 97%
rename from src/main/java/kieker/gui/view/ISubView.java
rename to src/main/java/kieker/gui/common/ISubView.java
index 239d6715122d02a64b9e5d906c7b0b0d05710458..7d7c76e54bb9e8225d7a59b38c79bb9e9848da3d 100644
--- a/src/main/java/kieker/gui/view/ISubView.java
+++ b/src/main/java/kieker/gui/common/ISubView.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.common;
 
 import org.eclipse.swt.widgets.Composite;
 
diff --git a/src/main/java/kieker/gui/model/PropertiesModel.java b/src/main/java/kieker/gui/common/PropertiesModel.java
similarity index 98%
rename from src/main/java/kieker/gui/model/PropertiesModel.java
rename to src/main/java/kieker/gui/common/PropertiesModel.java
index 9a575245a746730ea39d70fcd5285d66d49ea327..56400c6f3b9e9e1b42b8e92951ccb616a3d8d24e 100644
--- a/src/main/java/kieker/gui/model/PropertiesModel.java
+++ b/src/main/java/kieker/gui/common/PropertiesModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.common;
 
 import java.util.Observable;
 
diff --git a/src/main/java/kieker/gui/view/util/TableColumnSortListener.java b/src/main/java/kieker/gui/common/TableColumnSortListener.java
similarity index 98%
rename from src/main/java/kieker/gui/view/util/TableColumnSortListener.java
rename to src/main/java/kieker/gui/common/TableColumnSortListener.java
index b6873cae527f9defd26ab19b3f85adaf3a397c5d..29e81abc6b3383dc1a2e36706f0719bdca8a2a8f 100644
--- a/src/main/java/kieker/gui/view/util/TableColumnSortListener.java
+++ b/src/main/java/kieker/gui/common/TableColumnSortListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/view/util/TreeColumnSortListener.java b/src/main/java/kieker/gui/common/TreeColumnSortListener.java
similarity index 98%
rename from src/main/java/kieker/gui/view/util/TreeColumnSortListener.java
rename to src/main/java/kieker/gui/common/TreeColumnSortListener.java
index 620e7ae928e0191285d12aaa17ad5c6c8f680c36..76a318ccf42b0132892f2338d74e762cc093284a 100644
--- a/src/main/java/kieker/gui/view/util/TreeColumnSortListener.java
+++ b/src/main/java/kieker/gui/common/TreeColumnSortListener.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.common;
 
 import java.util.Collections;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/model/domain/AbstractExecution.java b/src/main/java/kieker/gui/common/domain/AbstractExecution.java
similarity index 98%
rename from src/main/java/kieker/gui/model/domain/AbstractExecution.java
rename to src/main/java/kieker/gui/common/domain/AbstractExecution.java
index 9442155d0071d3f8f42b69b3f98cb611dab06aa6..5ee4c195918db3ba748afa31687a6e20f5cda993 100644
--- a/src/main/java/kieker/gui/model/domain/AbstractExecution.java
+++ b/src/main/java/kieker/gui/common/domain/AbstractExecution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/kieker/gui/model/domain/AggregatedExecution.java b/src/main/java/kieker/gui/common/domain/AggregatedExecution.java
similarity index 98%
rename from src/main/java/kieker/gui/model/domain/AggregatedExecution.java
rename to src/main/java/kieker/gui/common/domain/AggregatedExecution.java
index cfd6a89eaa18b9502c32cc77312b179209f13ac7..2b46de91e2e4e780c87325430da98839ce98ea2c 100644
--- a/src/main/java/kieker/gui/model/domain/AggregatedExecution.java
+++ b/src/main/java/kieker/gui/common/domain/AggregatedExecution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 public final class AggregatedExecution extends AbstractExecution<AggregatedExecution> {
 
diff --git a/src/main/java/kieker/gui/model/domain/Execution.java b/src/main/java/kieker/gui/common/domain/Execution.java
similarity index 99%
rename from src/main/java/kieker/gui/model/domain/Execution.java
rename to src/main/java/kieker/gui/common/domain/Execution.java
index 3fe50c15555d095c9059907fb72029dfcb5277c4..1fccf080533c69216a184f0c0d2fc4ab98c8b4e6 100644
--- a/src/main/java/kieker/gui/model/domain/Execution.java
+++ b/src/main/java/kieker/gui/common/domain/Execution.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 import java.util.Iterator;
 
diff --git a/src/main/java/kieker/gui/model/domain/Record.java b/src/main/java/kieker/gui/common/domain/Record.java
similarity index 97%
rename from src/main/java/kieker/gui/model/domain/Record.java
rename to src/main/java/kieker/gui/common/domain/Record.java
index 673e4a0deff6c827e86fe23d237101ce5a2ac95f..cfbfdfe32fa2d777386bf277e70711edb1dd7098 100644
--- a/src/main/java/kieker/gui/model/domain/Record.java
+++ b/src/main/java/kieker/gui/common/domain/Record.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.domain;
+package kieker.gui.common.domain;
 
 /**
  * A simplified representation of a monitoring record.
diff --git a/src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java b/src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
similarity index 92%
rename from src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java
rename to src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
index 61bf4fdf16842d8ef793d1884308dea7dbb4984e..92e0aa22ecca09479d205ed21b54f5074ba97f92 100644
--- a/src/main/java/kieker/gui/model/importer/ImportAnalysisConfiguration.java
+++ b/src/main/java/kieker/gui/common/importer/ImportAnalysisConfiguration.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer;
+package kieker.gui.common.importer;
 
 import java.io.File;
 import java.util.List;
@@ -23,16 +23,16 @@ import java.util.Vector;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.flow.IFlowRecord;
 import kieker.common.record.misc.KiekerMetadataRecord;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.model.domain.Record;
-import kieker.gui.model.importer.stages.FailedAggregatedTraceFilter;
-import kieker.gui.model.importer.stages.FailedTraceFilter;
-import kieker.gui.model.importer.stages.FailureContainingAggregatedTraceFilter;
-import kieker.gui.model.importer.stages.FailureContainingTraceFilter;
-import kieker.gui.model.importer.stages.RecordSimplificator;
-import kieker.gui.model.importer.stages.TraceAggregator;
-import kieker.gui.model.importer.stages.TraceReconstructor;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.stages.FailedAggregatedTraceFilter;
+import kieker.gui.common.importer.stages.FailedTraceFilter;
+import kieker.gui.common.importer.stages.FailureContainingAggregatedTraceFilter;
+import kieker.gui.common.importer.stages.FailureContainingTraceFilter;
+import kieker.gui.common.importer.stages.RecordSimplificator;
+import kieker.gui.common.importer.stages.TraceAggregator;
+import kieker.gui.common.importer.stages.TraceReconstructor;
 import teetime.framework.AnalysisConfiguration;
 import teetime.framework.pipe.IPipeFactory;
 import teetime.framework.pipe.PipeFactoryRegistry.PipeOrdering;
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
index 3b3601205182e155c57e0435752a026461d0232b..c8958943fb418cfd2997cbfcacd55a2bef7dd047 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailedAggregatedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailedAggregatedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
index 62c0e01769c0eaf6dfd857638c7dfc55a2f5440b..a40391829fbd444b6b44ffd49aa7574998d20612 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
index bf4a071ae4c0f5b0c2d9990a96aa2a4c7d30711d..352d4cb2c3b0686876da55f834bc2c1521b2df16 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailureContainingAggregatedTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailureContainingAggregatedTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java b/src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java
rename to src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
index 9293e0c569b7b70483bc223bbbc145749d93403f..6ce1c1beac0397836a48a243458006623c4faaf3 100644
--- a/src/main/java/kieker/gui/model/importer/stages/FailureContainingTraceFilter.java
+++ b/src/main/java/kieker/gui/common/importer/stages/FailureContainingTraceFilter.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java b/src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
similarity index 95%
rename from src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java
rename to src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
index 45e68aa5f510666b069164fb0ffe624f1663208c..8a455e8667aa337e2c563afcd65a10f58f04e882 100644
--- a/src/main/java/kieker/gui/model/importer/stages/RecordSimplificator.java
+++ b/src/main/java/kieker/gui/common/importer/stages/RecordSimplificator.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import kieker.common.record.IMonitoringRecord;
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.domain.Record;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java b/src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
similarity index 93%
rename from src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java
rename to src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
index a02c8c0e812127ce58e0dd1afb3b37a382837d81..15f9462743705f1e607b763e71ce230b7907d73b 100644
--- a/src/main/java/kieker/gui/model/importer/stages/TraceAggregator.java
+++ b/src/main/java/kieker/gui/common/importer/stages/TraceAggregator.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java b/src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
similarity index 98%
rename from src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java
rename to src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
index cfd548505f78d811392b77b889be652fc37452ba..b2c1a5a7f3e54f4cfcc024b8b13512741ead54cc 100644
--- a/src/main/java/kieker/gui/model/importer/stages/TraceReconstructor.java
+++ b/src/main/java/kieker/gui/common/importer/stages/TraceReconstructor.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import java.util.Deque;
 import java.util.HashMap;
@@ -27,7 +27,7 @@ import kieker.common.record.flow.trace.operation.AbstractOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationFailedEvent;
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 import teetime.framework.AbstractConsumerStage;
 import teetime.framework.OutputPort;
 
diff --git a/src/main/java/kieker/gui/view/MainView.java b/src/main/java/kieker/gui/mainview/MainView.java
similarity index 98%
rename from src/main/java/kieker/gui/view/MainView.java
rename to src/main/java/kieker/gui/mainview/MainView.java
index 493ad1ec79ca8410f6c6ce7d4c33e7012451ce7e..64c72819eb5124c0ebfa016cc010cb1ffbc952ac 100644
--- a/src/main/java/kieker/gui/view/MainView.java
+++ b/src/main/java/kieker/gui/mainview/MainView.java
@@ -14,14 +14,13 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.mainview;
 
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.controller.MainViewController;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.MainViewModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubView;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/MainViewController.java b/src/main/java/kieker/gui/mainview/MainViewController.java
similarity index 88%
rename from src/main/java/kieker/gui/controller/MainViewController.java
rename to src/main/java/kieker/gui/mainview/MainViewController.java
index 84440f3bf6b56e32bf38d5ac69e8bcac01d86e86..c265b00546f60a6ce76e5eeecc3fc8b46aaa4556 100644
--- a/src/main/java/kieker/gui/controller/MainViewController.java
+++ b/src/main/java/kieker/gui/mainview/MainViewController.java
@@ -14,14 +14,20 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
-
-import kieker.gui.model.DataModel;
-import kieker.gui.model.MainViewModel;
-import kieker.gui.model.MainViewModel.SubView;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.MainView;
+package kieker.gui.mainview;
+
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.mainview.MainViewModel.SubView;
+import kieker.gui.subview.aggregatedtraces.AggregatedFailedTracesSubViewController;
+import kieker.gui.subview.aggregatedtraces.AggregatedTracesSubViewController;
+import kieker.gui.subview.aggregatedtraces.FailureContainingAggregatedTracesSubViewController;
+import kieker.gui.subview.records.RecordsSubViewController;
+import kieker.gui.subview.traces.FailedTracesSubViewController;
+import kieker.gui.subview.traces.FailureContainingTracesSubViewController;
+import kieker.gui.subview.traces.TracesSubViewController;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/MainViewModel.java b/src/main/java/kieker/gui/mainview/MainViewModel.java
similarity index 98%
rename from src/main/java/kieker/gui/model/MainViewModel.java
rename to src/main/java/kieker/gui/mainview/MainViewModel.java
index 68158107413dc18147cfa648803a7d5e572c04ec..f79ee70d1444e06aa2d088b3ed0cc72f7a1692bb 100644
--- a/src/main/java/kieker/gui/model/MainViewModel.java
+++ b/src/main/java/kieker/gui/mainview/MainViewModel.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.mainview;
 
 import java.util.Observable;
 
diff --git a/src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
index f2e475a2106bc8f4386156ec1c67d969a00135b5..56f6a417668b6d28029ab5e357798936c51202f1 100644
--- a/src/main/java/kieker/gui/controller/AggregatedFailedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedFailedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/AggregatedTracesSubView.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
similarity index 94%
rename from src/main/java/kieker/gui/view/AggregatedTracesSubView.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
index a4a08f2f3021d2d5941b26c387074daa9b77af62..58d2570d00b61514f402ea03e7909b21a4903958 100644
--- a/src/main/java/kieker/gui/view/AggregatedTracesSubView.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubView.java
@@ -14,25 +14,25 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.IModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.util.AggregatedExecutionAvgDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionCallComparator;
-import kieker.gui.view.util.AggregatedExecutionMaxDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionMinDurationComparator;
-import kieker.gui.view.util.AggregatedExecutionTotalDurationComparator;
-import kieker.gui.view.util.ExecutionComponentComparator;
-import kieker.gui.view.util.ExecutionContainerComparator;
-import kieker.gui.view.util.ExecutionOperationComparator;
-import kieker.gui.view.util.TreeColumnSortListener;
+import kieker.gui.common.IModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.TreeColumnSortListener;
+import kieker.gui.common.domain.AggregatedExecution;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionAvgDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionCallComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionMaxDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionMinDurationComparator;
+import kieker.gui.subview.aggregatedtraces.util.AggregatedExecutionTotalDurationComparator;
+import kieker.gui.subview.traces.util.ExecutionComponentComparator;
+import kieker.gui.subview.traces.util.ExecutionContainerComparator;
+import kieker.gui.subview.traces.util.ExecutionOperationComparator;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
index 111e16e89d0051c210461cd887a86e3a128297c4..6a1e55a85e5d59f5a3478c5d8c9baf8303acaa12 100644
--- a/src/main/java/kieker/gui/controller/AggregatedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
similarity index 92%
rename from src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
index 4d7199f413d0be1f49ea3df687d0c194051a06f1..d505a8ed3dc75f3dc1ede4464151205bc58fce97 100644
--- a/src/main/java/kieker/gui/model/AggregatedTracesSubViewModel.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/AggregatedTracesSubViewModel.java
@@ -16,11 +16,11 @@ kieker-monitoring.net)
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.Observable;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.domain.AggregatedExecution;
 
 public final class AggregatedTracesSubViewModel extends Observable {
 
diff --git a/src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java b/src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
similarity index 85%
rename from src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
index af999e307f0c88936903711aa396a8d32449697c..5ca5406bbc48168d1fa6a2fab1cc75f299d4c3e3 100644
--- a/src/main/java/kieker/gui/controller/FailureContainingAggregatedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/FailureContainingAggregatedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.aggregatedtraces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.AggregatedTracesSubViewModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.domain.AggregatedExecution;
-import kieker.gui.view.AggregatedTracesSubView;
-import kieker.gui.view.ISubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
index 4ad8a57ce7c24e9835d6ec4fed45f5cd744dba8f..85ea757c9ad79c07c2500fb65a530937462fcb84 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionAvgDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionAvgDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
index 74a4a0bcc5ac91691efb3682407095ca8a6d15f5..3efcedbc77a0840b14785dfe1633147cfee1ce02 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionCallComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionCallComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
index 8b3a48257e8748026a2f4392ad70e3f0c8e818fa..d8fb45203237a0ec53a26f4641807f77a20b862a 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionMaxDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMaxDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
index 3f2bf7a4a3f76a193ea448330d7330a8b32b9e1c..5e7635ad44c187478d24e93748380f88934bbeea 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionMinDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionMinDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
similarity index 72%
rename from src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java
rename to src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
index 9f78ef5bdfed60316897866734ec7dcddd6939f3..6e1662a9c5a5b59d72760d6bfa0ed4401c966bad 100644
--- a/src/main/java/kieker/gui/view/util/AggregatedExecutionTotalDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/aggregatedtraces/util/AggregatedExecutionTotalDurationComparator.java
@@ -1,6 +1,7 @@
-package kieker.gui.view.util;
+package kieker.gui.subview.aggregatedtraces.util;
 
-import kieker.gui.model.domain.AggregatedExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AggregatedExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/RecordsSubView.java b/src/main/java/kieker/gui/subview/records/RecordsSubView.java
similarity index 92%
rename from src/main/java/kieker/gui/view/RecordsSubView.java
rename to src/main/java/kieker/gui/subview/records/RecordsSubView.java
index b9904e5a9daadee9ca6dedee9881b30af64d4286..f8ff2535e40279117476c82d0ae967f880f7bb72 100644
--- a/src/main/java/kieker/gui/view/RecordsSubView.java
+++ b/src/main/java/kieker/gui/subview/records/RecordsSubView.java
@@ -14,18 +14,18 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.records;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.controller.RecordsSubViewController;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.domain.Record;
-import kieker.gui.view.util.RecordTimestampComparator;
-import kieker.gui.view.util.RecordTypeComparator;
-import kieker.gui.view.util.TableColumnSortListener;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.TableColumnSortListener;
+import kieker.gui.common.domain.Record;
+import kieker.gui.subview.records.util.RecordTimestampComparator;
+import kieker.gui.subview.records.util.RecordTypeComparator;
 
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
diff --git a/src/main/java/kieker/gui/controller/RecordsSubViewController.java b/src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
similarity index 88%
rename from src/main/java/kieker/gui/controller/RecordsSubViewController.java
rename to src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
index f671060faff8f6b67c1d98efe1327732ba5056d2..a96643928d8a68e9400605c48ee13977e048d487 100644
--- a/src/main/java/kieker/gui/controller/RecordsSubViewController.java
+++ b/src/main/java/kieker/gui/subview/records/RecordsSubViewController.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.records;
 
-import kieker.gui.model.DataModel;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.RecordsSubView;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
 
 /**
  * The sub-controller responsible for the sub-view presenting the available records.
diff --git a/src/main/java/kieker/gui/view/util/RecordTimestampComparator.java b/src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/RecordTimestampComparator.java
rename to src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
index 36e10c0d8ae9bf6944854c2755078511312600b8..0d6da9d35bf25434d62f8c7f1464b32ac50a869d 100644
--- a/src/main/java/kieker/gui/view/util/RecordTimestampComparator.java
+++ b/src/main/java/kieker/gui/subview/records/util/RecordTimestampComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.records.util;
 
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Record;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/RecordTypeComparator.java b/src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/RecordTypeComparator.java
rename to src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
index 92055188c8d2ab0ce28f91e75ad7b6eec703be67..bd9989aff679ec6dfaf3ee0d01a9cdbf8e9fed8e 100644
--- a/src/main/java/kieker/gui/view/util/RecordTypeComparator.java
+++ b/src/main/java/kieker/gui/subview/records/util/RecordTypeComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.records.util;
 
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Record;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/controller/FailedTracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/FailedTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
index efd3588f97fc56da3c74d0e59e1b12008c04a1f4..befa9cf5773c5cdf86c1a5dfba70a6c91ace7d09 100644
--- a/src/main/java/kieker/gui/controller/FailedTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/FailedTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
index 3f8b340bb936cd94537a8c3380b7f71ba65054bf..09d08d1e77b6ac2214c140205fc50fec874bd7c3 100644
--- a/src/main/java/kieker/gui/controller/FailureContainingTracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/FailureContainingTracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/view/TracesSubView.java b/src/main/java/kieker/gui/subview/traces/TracesSubView.java
similarity index 95%
rename from src/main/java/kieker/gui/view/TracesSubView.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubView.java
index 34c5a6fb703a203904fdb70de789d66269b8561e..49c391d1f4a4ded297ab2d50dada252ea8b2436f 100644
--- a/src/main/java/kieker/gui/view/TracesSubView.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubView.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 import java.util.Observable;
 import java.util.Observer;
 
-import kieker.gui.model.IModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.util.ExecutionComponentComparator;
-import kieker.gui.view.util.ExecutionContainerComparator;
-import kieker.gui.view.util.ExecutionDurationComparator;
-import kieker.gui.view.util.ExecutionOperationComparator;
-import kieker.gui.view.util.ExecutionTraceIDComparator;
-import kieker.gui.view.util.TreeColumnSortListener;
+import kieker.gui.common.IModel;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.TreeColumnSortListener;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.subview.traces.util.ExecutionComponentComparator;
+import kieker.gui.subview.traces.util.ExecutionContainerComparator;
+import kieker.gui.subview.traces.util.ExecutionDurationComparator;
+import kieker.gui.subview.traces.util.ExecutionOperationComparator;
+import kieker.gui.subview.traces.util.ExecutionTraceIDComparator;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.SashForm;
diff --git a/src/main/java/kieker/gui/controller/TracesSubViewController.java b/src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
similarity index 86%
rename from src/main/java/kieker/gui/controller/TracesSubViewController.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
index dda0c8afab8a8f8ecdf46bab3129af33df9438d6..ed8d6b7ec7543e06fe8db342db28c840b98e4585 100644
--- a/src/main/java/kieker/gui/controller/TracesSubViewController.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubViewController.java
@@ -14,17 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.controller;
+package kieker.gui.subview.traces;
 
 import java.util.List;
 
-import kieker.gui.model.AbstractProxyDataModel;
-import kieker.gui.model.DataModel;
-import kieker.gui.model.PropertiesModel;
-import kieker.gui.model.TracesSubViewModel;
-import kieker.gui.model.domain.Execution;
-import kieker.gui.view.ISubView;
-import kieker.gui.view.TracesSubView;
+import kieker.gui.common.AbstractProxyDataModel;
+import kieker.gui.common.DataModel;
+import kieker.gui.common.ISubController;
+import kieker.gui.common.ISubView;
+import kieker.gui.common.PropertiesModel;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
diff --git a/src/main/java/kieker/gui/model/TracesSubViewModel.java b/src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
similarity index 93%
rename from src/main/java/kieker/gui/model/TracesSubViewModel.java
rename to src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
index ab967ebc1ced058f6f48db406a2fc03d7b8b1f61..2a00dc1c50348f8cb7c796e9f512f11a05145ce1 100644
--- a/src/main/java/kieker/gui/model/TracesSubViewModel.java
+++ b/src/main/java/kieker/gui/subview/traces/TracesSubViewModel.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.model;
+package kieker.gui.subview.traces;
 
 import java.util.Observable;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
 
 public final class TracesSubViewModel extends Observable {
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
index b308ed1aade842a3c4f9bfd07538e236ab9bfeb3..7717cfa71df62aeaf061dfa53342c3d32be1f7c0 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionComponentComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionComponentComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
index c1b0516af15e5ddef68cb593d92b5bd4a957c8c9..9e1c1b00ad89daeb738a2671fd15e518a6320f69 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionContainerComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionContainerComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
index 2e5662095f3a3cb40587f219e82acf34d32879a0..a9d00945958ba9e17f0e92377aea723247657136 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionDurationComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionDurationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
similarity index 88%
rename from src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
index 1a0f2e666382c1f289220296a0de72531e7115a6..8898978c6df34c183fbba5ee24544cf287b5982f 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionOperationComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionOperationComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.AbstractExecution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.AbstractExecution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java b/src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
similarity index 89%
rename from src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java
rename to src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
index ea31cb3997cadaa882f6c3b1baf3d7e31c0a64e5..58b83111de1a72caf73c99c05ef62d226db2c6e8 100644
--- a/src/main/java/kieker/gui/view/util/ExecutionTraceIDComparator.java
+++ b/src/main/java/kieker/gui/subview/traces/util/ExecutionTraceIDComparator.java
@@ -14,9 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package kieker.gui.view.util;
+package kieker.gui.subview.traces.util;
 
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.AbstractDirectedComparator;
+import kieker.gui.common.domain.Execution;
 
 import org.eclipse.swt.SWT;
 
diff --git a/src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java b/src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
similarity index 91%
rename from src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java
rename to src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
index 8277b753a37d5e3ca2af3331b8c1678e849ff416..3fac242aa3db57047cbbf57e945555d56979a71a 100644
--- a/src/test/java/kieker/gui/model/importer/stages/RecordSimplificatorTest.java
+++ b/src/test/java/kieker/gui/common/importer/stages/RecordSimplificatorTest.java
@@ -1,4 +1,4 @@
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
@@ -8,7 +8,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Record;
+import kieker.gui.common.domain.Record;
+import kieker.gui.common.importer.stages.RecordSimplificator;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java b/src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
similarity index 97%
rename from src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java
rename to src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
index a008e9294a6ed269c917c2ad802783abbe23911c..c344c0d5f0e9bf406021e17c4fb877676aee950f 100644
--- a/src/test/java/kieker/gui/model/importer/stages/TraceReconstructorTest.java
+++ b/src/test/java/kieker/gui/common/importer/stages/TraceReconstructorTest.java
@@ -1,4 +1,4 @@
-package kieker.gui.model.importer.stages;
+package kieker.gui.common.importer.stages;
 
 import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
@@ -12,7 +12,8 @@ import kieker.common.record.flow.trace.TraceMetadata;
 import kieker.common.record.flow.trace.operation.AfterOperationEvent;
 import kieker.common.record.flow.trace.operation.AfterOperationFailedEvent;
 import kieker.common.record.flow.trace.operation.BeforeOperationEvent;
-import kieker.gui.model.domain.Execution;
+import kieker.gui.common.domain.Execution;
+import kieker.gui.common.importer.stages.TraceReconstructor;
 
 import org.junit.Before;
 import org.junit.Test;