Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/HeuristicLab.Problems.DataAnalysis-3.4.csproj
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/HeuristicLab.Problems.DataAnalysis-3.4.csproj	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/HeuristicLab.Problems.DataAnalysis-3.4.csproj	(revision 17515)
@@ -118,4 +118,7 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Interfaces\ISupervisedDataAnalysisModel.cs" />
+    <Compile Include="Interfaces\ISupervisedDataAnalysisProblem.cs" />
+    <Compile Include="Interfaces\ISupervisedDataAnalysisProblemData.cs" />
     <Compile Include="DatasetExtensions.cs" />
     <Compile Include="DatasetUtil.cs" />
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblem.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblem.cs	(revision 17515)
@@ -20,7 +20,7 @@
 #endregion
 
+using HEAL.Attic;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
-using HEAL.Attic;
 
 namespace HeuristicLab.Problems.DataAnalysis {
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationModel.cs	(revision 17515)
@@ -20,5 +20,4 @@
 #endregion
 
-using System;
 using System.Collections.Generic;
 using HEAL.Attic;
@@ -28,12 +27,10 @@
   /// <summary>
   /// Interface for all classification models.
-  /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
+  /// <remarks>All methods and properties in this interface must be implemented thread safely</remarks>
   /// </summary>
-  public interface IClassificationModel : IDataAnalysisModel {
+  public interface IClassificationModel : ISupervisedDataAnalysisModel {
     IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows);
     IClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData);
     bool IsProblemDataCompatible(IClassificationProblemData problemData, out string errorMessage);
-    string TargetVariable { get; set; }
-    event EventHandler TargetVariableChanged;
   }
 }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblem.cs	(revision 17515)
@@ -23,5 +23,5 @@
 namespace HeuristicLab.Problems.DataAnalysis {
   [StorableType("fd15f587-2a68-4180-86c4-82410e3f22e2")]
-  public interface IClassificationProblem : IDataAnalysisProblem<IClassificationProblemData> {
+  public interface IClassificationProblem : ISupervisedDataAnalysisProblem<IClassificationProblemData> {
   }
 }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Classification/IClassificationProblemData.cs	(revision 17515)
@@ -25,7 +25,5 @@
 namespace HeuristicLab.Problems.DataAnalysis {
   [StorableType("8cd26df9-aed7-4378-9516-04322b6f9d2e")]
-  public interface IClassificationProblemData : IDataAnalysisProblemData {
-    string TargetVariable { get; set; }
-
+  public interface IClassificationProblemData : ISupervisedDataAnalysisProblemData {
     IEnumerable<string> ClassNames { get; }
     string PositiveClass { get; set; }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/IDataAnalysisProblem.cs	(revision 17515)
@@ -21,9 +21,10 @@
 
 using System;
+using HEAL.Attic;
 using HeuristicLab.Core;
 using HeuristicLab.Optimization;
-using HEAL.Attic;
 
 namespace HeuristicLab.Problems.DataAnalysis {
+  //TODO Change to new empty problem interface
   [StorableType("74e4c570-3881-4bfa-a5bb-2bb71cdee2b3")]
   public interface IDataAnalysisProblem : IProblem {
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisModel.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisModel.cs	(revision 17515)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisModel.cs	(revision 17515)
@@ -0,0 +1,37 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 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;
+using HEAL.Attic;
+
+namespace HeuristicLab.Problems.DataAnalysis {
+
+  /// <summary>
+  /// Interface for all data-analysis models (regression/classification/clustering).
+  /// <remarks>All methods and properties in this interface must be implemented thread safely</remarks>
+  /// </summary>
+
+  [StorableType("68245386-0EEC-4FB4-BFC1-8C4FFE9AB0BC")]
+  public interface ISupervisedDataAnalysisModel : IDataAnalysisModel {
+    string TargetVariable { get; set; }
+    event EventHandler TargetVariableChanged;
+  }
+}
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblem.cs	(revision 17515)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblem.cs	(revision 17515)
@@ -0,0 +1,29 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 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 HEAL.Attic;
+
+namespace HeuristicLab.Problems.DataAnalysis {
+  //TODO Change to new empty problem interface
+  [StorableType("19DF0689-7500-41E3-9815-C0C648E53AE7")]
+  public interface ISupervisedDataAnalysisProblem<T> : IDataAnalysisProblem<T>
+    where T : class, ISupervisedDataAnalysisProblemData { }
+}
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblemData.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblemData.cs	(revision 17515)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/ISupervisedDataAnalysisProblemData.cs	(revision 17515)
@@ -0,0 +1,29 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 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 HEAL.Attic;
+
+namespace HeuristicLab.Problems.DataAnalysis {
+  [StorableType("5CE2C127-E046-496E-BD98-80DC9F4631A6")]
+  public interface ISupervisedDataAnalysisProblemData : IDataAnalysisProblemData {
+    string TargetVariable { get; set; }
+  }
+}
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionModel.cs	(revision 17515)
@@ -20,5 +20,4 @@
 #endregion
 
-using System;
 using System.Collections.Generic;
 using HEAL.Attic;
@@ -28,12 +27,10 @@
   /// <summary>
   /// Interface for all regression models.
-  /// <remarks>All methods and properties in in this interface must be implemented thread safely</remarks>
+  /// <remarks>All methods and properties in this interface must be implemented thread safely</remarks>
   /// </summary>
-  public interface IRegressionModel : IDataAnalysisModel {
+  public interface IRegressionModel : ISupervisedDataAnalysisModel {
     IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows);
     IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData);
     bool IsProblemDataCompatible(IRegressionProblemData problemData, out string errorMessage);
-    string TargetVariable { get; set; }
-    event EventHandler TargetVariableChanged;
   }
 }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblem.cs	(revision 17515)
@@ -23,5 +23,5 @@
 namespace HeuristicLab.Problems.DataAnalysis {
   [StorableType("4541dcea-2a97-451f-b3bd-84a1342e2b1d")]
-  public interface IRegressionProblem : IDataAnalysisProblem<IRegressionProblemData> {
+  public interface IRegressionProblem : ISupervisedDataAnalysisProblem<IRegressionProblemData> {
   }
 }
Index: branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs
===================================================================
--- branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 17457)
+++ branches/2521_ProblemRefactoring/HeuristicLab.Problems.DataAnalysis/3.4/Interfaces/Regression/IRegressionProblemData.cs	(revision 17515)
@@ -25,7 +25,5 @@
 namespace HeuristicLab.Problems.DataAnalysis {
   [StorableType("1ef22b8b-f3b4-494b-8cdd-f08e84e316e0")]
-  public interface IRegressionProblemData : IDataAnalysisProblemData {
-    string TargetVariable { get; set; }
-
+  public interface IRegressionProblemData : ISupervisedDataAnalysisProblemData {
     IEnumerable<double> TargetVariableValues { get; }
     IEnumerable<double> TargetVariableTrainingValues { get; }
